gpt4 book ai didi

C 可以包含 use 宏吗?

转载 作者:行者123 更新时间:2023-11-30 18:43:06 26 4
gpt4 key购买 nike

我想包含宏扩展的结果。似乎include只知道<>“”?

这失败了:

#define audio sinwave

#ifdef audio
#include audio".c"
/*#include "sinwave.c"*/
#endif

但这有效:

#ifdef audio
if(i==0){set_audio((char *)audio);return;}
#endif

最佳答案

你可以这样做:

#define audio audio

#define FF(X) #X
#define F(X) FF(X.c)

#ifdef audio
#include F(audio)
#endif

也就是说,在将所有内容放入字符串之前,您必须附加 .c 。通常相邻字符串的连接 "audio"".c"-> "audio.c" 发生在比预处理更晚的编译阶段,因此 #include 指令无法处理有了这个。

关于C 可以包含 use 宏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542683/

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