gpt4 book ai didi

include - #include 指令中的宏替换

转载 作者:行者123 更新时间:2023-12-02 11:59:01 29 4
gpt4 key购买 nike

我想使用 #include 指令,其文件名作为外部定义的宏传递。

例如

#include #FILE".h"

其中 FILE 将被定义为字符串 MyFile(不带引号),结果为

#include "MyFile.h"

此处不能使用字符串化运算符 #,因为符号 FILE 不是宏参数。我尝试过其他方法,但没有效果。

你找到解决方案了吗?

最佳答案

字符串文字连接在#include指令解析后发生两个翻译阶段;你的方法行不通。相反,尝试一些类似的事情

#define STRINGIZE_(a) #a
#define STRINGIZE(a) STRINGIZE_(a)

#define MYFILE stdio
#include STRINGIZE(MYFILE.h)

int main() {
printf("asdf");
}

Demo .

关于include - #include 指令中的宏替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362675/

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