是否有可直接嵌入C / C ++程序的C / C ++编译器/链接器?

时间:2011-04-15 13:27:27

标签: c++ compiler-construction

这个想法是在运行时生成C / C ++代码,将其编译为共享对象,并在当前进程中加载​​该共享对象。

我知道可以通过在主机平台(GCC或MSVC)上使用现有的编译器安装来完成,但在实际情况下,客户端不需要进行此类安装。因此,我们的想法是静态地链接到这样的编译器和链接器。

例如在Java中,您可以直接从java代码编译.java类。它可用于从数据库模式自动生成Buisness对象。

5 个答案:

答案 0 :(得分:2)

您可以使用c语言前端(clang)到llvm执行此操作。建立在clang之上的static analyzer可以为您提供有关如何继续的一些想法。

答案 1 :(得分:1)

有tinyC:http://bellard.org/tcc/。我对C ++一无所知。

答案 2 :(得分:1)

谷歌的'c口译员'嵌入',你会得到第一次点击

YMMV

答案 3 :(得分:0)

据我所知,c或c ++无法做到这一点。您必须启动一个新进程(在其中执行编译器),并且需要安装编译器。

答案 4 :(得分:0)

你可能想看看the crack language,基于llvm,它处于早期阶段,但似乎与你试图实现的目标非常接近。