通过使用变量作为标题名称,有没有办法在代码中包含文件?像这样:
const char *ch = "test.h";
/* include it now with the var */ #include ch
如果答案是否定的,是否有任何功能或任何方法可以做到这一点?
答案 0 :(得分:1)
预处理器正在执行其内容before the compiler even starts,因此在编译const char *ch = "test.h";
时,代码中不再有#include
个。
如果答案是否定的,是否有任何功能或任何方法可以做到这一点?
要回答这个问题,您必须解释您实际想要实现的目标。这是一个经典的xy problem:你问的是你认为什么是解决方案,但我们不知道你要解决什么问题......
答案 1 :(得分:0)
你可以这样做。虽然我提醒我不要这样做。
#define TEST_H "test.h"
#include TEST_H
答案 2 :(得分:0)
虽然提出的问题是关于标题,但是#12; XorTroll 12月12日在19:20"听起来像是可以通过dlopen()在运行时加载动态共享库来完成的修改。您需要预编译的库,涵盖所有用户控制的内容或非常复杂的环境,包括JIT生成和编译!