繁体   English   中英

如何在代码中包含文件(不在标题中)c++

[英]How to include file in code (not in header) c++

#include <iostream  
#include <string  
#include <fstream>  
using namespace std;

int main() {  
    string file = "mycode.h";  
    #include file  
}

我想包含来自另一个文件的一些代码,但用户可以键入文件的位置而不是要使用的代码

这是不可能的。

必须编译 C++ 才能将源代码转换为可执行代码。 #include是一个预处理器命令,它在早期编译阶段执行,将不同的源文件组合成一个文件,由编译器进一步处理。

最终的可执行文件包含特定于 CPU 和操作系统的所谓机器代码,但通常它不包含源代码(可能出于调试目的除外)。

也许您可以通过用户运行的外部控制程序来解决您的问题,该程序接收包含路径作为输入,将其插入源代码,调用编译器并执行编译的可执行文件。

对于 C++ 中的动态包含,我认为您可能需要 C++ 解释器。 有一个,叫做 Cling:

https://root.cern/cling/

https://github.com/root-project/cling

您要求进行 JIT 编译; 我认为CLing可以为你工作: https://github.com/root-project/cling

如果您检查文件,您会发现它正在按照您的要求进行操作,

参考: https://softwareengineering.stackexchange.com/questions/29344/jit-compiler-for-cc-and-the-likes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM