例如.
#include #FILE".h"
其中FILE将被定义为字符串MyFile(不带引号),导致
#include "MyFile.h"
字符串运算符#不能在这里用作符号FILE不是宏参数.我已经尝试过其他方法,无济于事.
你看到一个解决方案吗?
#define STRINGIZE_(a) #a #define STRINGIZE(a) STRINGIZE_(a) #define MYFILE stdio #include STRINGIZE(MYFILE.h) int main() { printf("asdf"); }
Demo.