我正在寻找一种解决方案,以预先声明/定义GCC的实用程序。
我将消息编译指示用作待办事项列表(#pragma消息“执行此操作”)。但是,我希望通过以下构造完全启用/禁用消息的选项:
警告,这是伪代码:
// Definition
#if 1 // generate todo list
#define ADD_TODO(msg) #pragma message "[todo]" msg
#else
#define ADD_TODO(msg) /*empty*/
#endif
// Usage
ADD_TODO("this may result in unitialized variables, fix this")
Run Code Online (Sandbox Code Playgroud)
有人对这种结构有经验吗?
我正在寻找一个定义结构的解决方案,用户可以在示例中启用/禁用struct成员(伪代码):
#define DEF_STRUCT_1(NAME,VAL1,VAL2) \
struct my_struct_t \
{ \
#if(NAME == TRUE) \
bool name; \
#endif \
#if(VAL1 == TRUE) \
bool val1; \
#endif \
#if(VAL2 == TRUE) \
bool val2; \
#endif \
} instance1
void main() {
DEF_STRUCT_1(TRUE,FALSE,TRUE);
instance1.name = true;
//instance1.val1 = false; // error, unavailable
instance1.val2 = false;
}
Run Code Online (Sandbox Code Playgroud)