寻找一种制作条件静态声明的方法。 我想在我的程序中创建一些变量,在发布时进行编译,并在调试时进行全局测试。 因为我不希望我的所有静态变量在调试时都变为全局,所以我想也许我可以根据编译标志做一个定义变量static的宏。我想要这样的东西:
#define STATIC(def) (def) ? : static
可以这样做吗? 使用C标准89
答案 0 :(得分:3)
如何使用预处理器#if
?你可以这样做:
#if YOUR_CONDITION
#define STATIC(def) static def
#else
#define STATIC(def) def
#endif
您可以使用#ifdef
和#ifndef
:
#ifdef DEBUG_MODE /*Define as static when DEBUG_MODE is defined*/
#define STATIC(def) static def
#else
#define STATIC(def) def
#endif