我想在编译时将C包含文件的名称指定为C标志.
例如
#include MY_INCLUDE_FILE int main(int argc, const char * argv[]) {...}
将由预处理器进行解释
#include "some_incfile.h" int main(int argc, const char * argv[]) {...}
做这样的事情
gcc -DMY_INCLUDE_FILE="some_incfile.h" main.c
我试图使用字符串化运算符#来扩展,但只是遇到了错误,例如 error: expected "FILENAME" or
这甚至可能吗?-D define并不是完全必要的,重要的是可以从gcc命令行设置include文件名
你必须逃避":
gcc -DMY_INCLUDE_FILE=\"some_incfile.h\" main.c