而我们知道宏定义里可以使用#将宏定义字符串化;借用这种机制我们可以将使用如下宏定义来便捷地在编译期间打印宏定义: #definePRINT_MACRO_HELPER(x) #x#definePRINT_MACRO(x) #x"="PRINT_MACRO_HELPER(x)#pragmamessage(PRINT_MACRO(YOUR_MACRO)) 如果YOUR_MACRO是有被定义的,则打印: note:#pragma message: Y...
gcc编译阶段打印宏定义的内容 gcc编译阶段打印宏定义的内容 背景 总所周知,代码量稍微⼤⼀点的C/C++项⽬的⼀些宏定义都会⽐较复杂,有时候会嵌套多个#if/#else判断分⽀和⼀堆#ifdef/#undef让你单看代码的话很难判断出宏定义的具体内容。如果有⼀种机制能够帮助我们在构建期间打印出宏的实际内容,...