我有一些代码,希望能够拥有两种模式:debug
和 verbose
。我在头文件中这样定义它们:
#define verbose TRUE
#define debug TRUE
到目前为止,我的代码只使用了
#if(debug)
//code
#endif
但是使用它更加合适吗?
#ifdef debug
// code
#endif
我之前看到了一些有关预处理宏的东西,但当时并没有懂。所以,我有一个问题: #if defined MACRO
与 #ifdef MACRO
等价吗?哪一个更适合用于启用/禁用特定代码段?
#ifdef
与if
进行比较,而不是如标题所示的与#if defined
进行比较。 - Oliver Charlesworth#ifdef
只能使用单个条件, 而#if defined(NAME)
可以使用复合条件。 - LPs#if
调试检查debug
是否为真,而#ifdef
仅检查debug
是否被定义。 - LPs#ifdef
与标题中的#if defined
进行比较;还是像您的代码示例中一样,将#if debug
与#ifdef debug
进行比较。 - M.M