C:如何启用_u;<;旗帜名称>__
我有以下代码:C:如何启用_u;<;旗帜名称>__,c,macros,flags,C,Macros,Flags,我有以下代码: #ifdef __SYM_TRACE__ #define SYM_TRACE( L, F ) { SETTRACE_LEVEL(L); tracefunc F; } #define SYM_TRACE2( F ) { SETTRACE_LEVEL(SYM_MODULE); tracefunc F; } #else #define SYM_TRACE( L, F ) #define SYM_TRACE2( F ) #endif 现在的问题是,在哪里可以找到SYM_TR
#ifdef __SYM_TRACE__
#define SYM_TRACE( L, F ) { SETTRACE_LEVEL(L); tracefunc F; }
#define SYM_TRACE2( F ) { SETTRACE_LEVEL(SYM_MODULE); tracefunc F; }
#else
#define SYM_TRACE( L, F )
#define SYM_TRACE2( F )
#endif
现在的问题是,在哪里可以找到SYM_TRACE标志,以及如何启用它?代码中没有名为SYM_TRACE的宏,因此从何处提取
还有一个初学者问题。有人能解释一下宏名称前后的_u_u_u的意义吗
谢谢,
晴朗的
可能是在make文件中定义的,_uu只是名称,我不认为这有什么意义,可能是在其他平台上移植时。
大多数C编译器接受选项-D来定义符号:
<代码> gcc-dyySythTraceSuff.file:c<代码>
答案已经存在,所以把它看作是添加< /p> 您可以执行以下选项以启用\uuuuu SYM\u TRACE\uuuu
将#define(定义)SYM(跟踪)()(#ifndef endif)写入与所示代码片段一起使用的头文件中
您可以按照@Ishmeet的建议,使用-D\u SYM\u TRACE\uu
将其添加到Makefile中
现在,如果您谈论的是
\u Name\u
,那么这是一种区分标准(或预定义)宏和用户定义宏的方法。例如,GCC预定义宏,如\u WCHAR\u TYPE\u
和\u WINT\u TYPE\u
前后都有下划线。谢谢,如果我正在寻找宏,我在寻找SYM_TRACE或仅仅是SYM_TRACE?这取决于您使用的编译器,例如IAR,宏是在project->options->C/C++编译器->Preprocessor->defined symbols下定义的,我使用eclispe和makefiles来构建。知道马可夫妇会在哪里吗?
__SYM_TRACE__