gpt4 book ai didi

比较 ifdef 指令中的字符串

转载 作者:行者123 更新时间:2023-11-30 19:54:57 33 4
gpt4 key购买 nike

我在编译过程中传递了一个macto:

% gcc -DIDENT="abcd"app.c

在编译宏时检查宏的正确方法是什么?例如,以下内容有效,但会引发警告:

#ifdef IDENT == "abcd"
printf("abcd\n");
#endif

警告:#ifdef 指令末尾有额外标记。

最佳答案

#ifdef 测试符号是否已定义,而不是值是什么,因此仅在以下情况下有效

#ifdef SYMBOL

#if 表达式将测试表达式是否为真,但仅限于整数。

有关详细信息,请参阅 gcc 预处理器手册:

https://gcc.gnu.org/onlinedocs/cpp/If.html

https://gcc.gnu.org/onlinedocs/cpp/Ifdef.html#Ifdef

关于比较 ifdef 指令中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44728493/

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