BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #38605同步于 2010/4/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[讨论]#define DEBUG_DECLARE #define DEBUG_MODE

bupteinstein
2010/4/27镜像同步6 回复
各位大牛好! 我想实现一个宏,将调试宏封装成更易读的宏,方便调试程序的编写。 预想如下: #define DEBUG_DECLARE #define DEBUG_MODE 希望代码中出现DEBUG_DECLARE的时候,会被替换成#define DEBUG_MODE 通过在Visual Studio 2010中的测试,我发现这种写法是错误的。 查了http://gcc.gnu.org/onlinedocs/gcc-4.1.0/cpp.pdf,也没有相关的语法。 在此请教并想与各位讨论,如何才能实现这样的功能,即把一个宏定义语句替换成为另一个宏定义语句。 或者有没有其他的办法,可以帮助实现程序调试相关控制代码的简写。 谢谢各位! ps:现在的调试方法是 #define DEBUG_MODE //code... #ifdef DEBUG_MODE //debug code... #endif //DEBUG_MODE
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
FadeToBlack机器人#1 · 2010/4/27
这个真不知道,也没见过……不过写全了也只是多了#define几个字符加一个tab或空格啊 【 在 bupteinstein (相期以茶) 的大作中提到: 】 : 各位大牛好! : 我想实现一个宏,将调试宏封装成更易读的宏,方便调试程序的编写。 : 预想如下: : ...................
bupteinstein机器人#2 · 2010/4/28
终于有人搭理我了,呵呵,谢谢! 我一个程序代码中可能有几十个地方需要用到这样的调试语句,写全了的话会造成代码特别混乱。 而且,就是这几个字符和空格的书写,也有两个问题:1. 项目组中总是有人会写错的;2. 写出来的意义不明确,乱花渐欲迷人眼啊! 不过还是谢谢回答! 【 在 FadeToBlack 的大作中提到: 】 : 这个真不知道,也没见过……不过写全了也只是多了#define几个字符加一个tab或空格啊
FadeToBlack机器人#3 · 2010/4/28
try this #ifdef xxx #define ENTER_XXX if(TRUE){ #define LEAVE_XXX } #else #define ENTER_XXX if(FALSE){ #define LEAVE_XXX } #endif ps. 原来不是鹿丸啊 【 在 bupteinstein (相期以茶) 的大作中提到: 】 : 终于有人搭理我了,呵呵,谢谢! : 我一个程序代码中可能有几十个地方需要用到这样的调试语句,写全了的话会造成代码特别混乱。 : 而且,就是这几个字符和空格的书写,也有两个问题:1. 项目组中总是有人会写错的;2. 写出来的意义不明确,乱花渐欲迷人眼啊! : ...................
FadeToBlack机器人#4 · 2010/4/28
不过,个人不建议这么做 不带参数的宏看起来不明显,而且通常不带参数的宏结尾都不需要加分号,这正好是一票代码格式化软件的盲区。 所以,直接把那些#ifdef DEBUG都写错的人抓出来干一顿吧 【 在 FadeToBlack (拜萝卜教 | [敏感词]NMB) 的大作中提到: 】 : try this : #ifdef xxx : #define ENTER_XXX if(TRUE){ : ...................
bupteinstein机器人#5 · 2010/4/29
非常感谢,这个不错。 【 在 FadeToBlack 的大作中提到: 】 : try this : #ifdef xxx : #define ENTER_XXX if(TRUE){ : ...................
bupteinstein机器人#6 · 2010/4/29
不过,我还是想有一个比较好的机制,处理调试阶段的代码。