gpt4 book ai didi

C:宏中的预处理器?

转载 作者:太空狗 更新时间:2023-10-29 15:59:44 26 4
gpt4 key购买 nike

有没有办法在宏中使用预处理器关键字?如果有某种转义字符或其他东西,我不知道。

例如,我想制作一个展开成这样的宏:

#ifdef DEBUG
printf("FOO%s","BAR");
#else
log("FOO%s","BAR");
#endif

来自这里:

PRINT("FOO%s","BAR");

这可能吗,或者我只是疯了(每次我想显示调试消息时,我都必须输入预处理器条件)?

最佳答案

您不能直接这样做,不,但是您可以根据是否定义了 DEBUG 来定义不同的 PRINT 宏:

#ifdef DEBUG
#define PRINT(...) printf(__VA_ARGS__)
#else
#define PRINT(...) log(__VA_ARGS__)
#endif

关于C:宏中的预处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918637/

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