#define STR_A abc
#if STR_A == abc //I want to make some check here
do something A
#else
do something B
#endif
我可以检查 STR_A 定义了什么吗?
最佳答案
如果你想检查 STR_A
是否被定义为标记 abc
(它本身不应该是另一个宏)你可以用一些技巧帮助自己
#define STR_A_TESTER_abc 1
#define CONCAT(A, B) A ## B
#define STR_A_TESTER CONCAT(STR_A_TESTER_, STR_A)
#if STR_A_TESTER
// do whatever
#else
// or other
#endif
关于我可以检查在预编译中定义了什么宏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949837/