作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在#warning 指令中打印一个宏值(扩展宏)。
例如,对于代码:
#define AAA 17
#warning AAA = ???
所需的编译时输出将是
warning: AAA = 17
我的用途是什么???,或者,我如何扩充代码?
最佳答案
您可以使用预处理器指令#pragma message
。
例子:
#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)
#define AAA 123
#pragma message "content of AAA: " STR(AAA)
int main() { return 0; }
输出可能是这样的:
$ gcc test.c
test.c:5:9: note: #pragma message: content of AAA: 123
#pragma message("content of AAA: " STR(AAA))
^
供引用:
关于C预处理器: expand macro in a #warning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12637392/
我是一名优秀的程序员,十分优秀!