gpt4 book ai didi

C预处理器: expand macro in a #warning

转载 作者:太空狗 更新时间:2023-10-29 16:20:36 26 4
gpt4 key购买 nike

我想在#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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com