c++ - 我可以在 C++ 文件执行中编译 C++ 文件,而无需任何额外的程序或安装吗?

标签 c++ compilation interpreter clang

我正在阅读有关 Clang 和 Ch(c++ 解释器)的内容,但我不清楚,是否可以在不进行任何安装的情况下运行新生成的 .cpp 文件?因为我需要在任何电脑上运行最终的程序...

ps。如果是,是否有人有一个很好的例子,其中 .cpp 文件在 C++ 代码中执行?

最佳答案

这可能是不可能的,或者至少非常困难。您必须将整个编译器(包括链接器、汇编器、优化器、预处理器……)包含在您的程序中,这将使程序变得非常大。

实现此目的的一种方法是使用 Clang(正如您已经指出的),源代码中甚至有一个名为“Clang 解释器”的演示项目:http://llvm.org/viewvc/llvm-project/cfe/trunk/examples/clang-interpreter/

但是,我曾经尝试将这个“野兽”编译到我的程序中,但中途放弃了,因为结果二进制文件(或带有外部库的二进制文件)的文件大小达到数十兆字节(甚至可能是一百兆字节)。

我的建议是生成一个易于解释的不同脚本(例如 bash/sh 脚本,您可以在任何 UNIX 机器上执行)。

关于c++ - 我可以在 C++ 文件执行中编译 C++ 文件,而无需任何额外的程序或安装吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10226562/

相关文章:

c++ - QXmlStreamReader获取标签值

c++ - QLabel 不使用 QToolButton 显示图像

c++ - 为什么 gcc 不将类声明编译为引用参数?

Java -server 标志和编译

visual-studio-2012 - 是否可以在 Visual Studio 2012 中使用 VC++ 6 编译器?

C-当我在解释器/编译器中需要它时,在结构中的另一种类型上使用指针

c++ - c/c++ for windows 中的 DNS 服务器

VHDL 项目的 gitignore

language-design - 在实现解释器时,捎带宿主语言的垃圾收集器是好是坏?

compiler-construction - 是否有任何语言既没有解释器也没有编译器?