快速按需c ++编译

时间:2012-09-24 07:03:34

标签: c++ compiler-construction jit

我正在研究构建系统的可能性,当查询到达服务器时,我们将查询转换为c ++代码,将其编译为共享对象并运行代码。

编译本身的时间需要很小,因为它值得。我的代码可以生成相应的c ++代码,但如果我必须在磁盘上写出来然后调用gcc来获取.so文件然后运行它,它似乎不值得。

我是否可以通过多种方式获得一小段代码进行编译并快速准备好作为共享对象(在查询到达之前可以有很长的启动时间)。如果这样的工具具有允许的许可证,则可以进一步加分。

编辑:我有一种非常严格的查询语言,用户可以使用,因此安全威胁无关紧要。我自己的代码将查询转换为c ++代码。答案提到铿锵是完美​​的。

2 个答案:

答案 0 :(得分:3)

在JIT模式下运行Clang应该提供你需要的速度,并且可以找到示例here,另一方面安全是其他的......

Ch也添加了JIT,并将其视为解释器,它可能提供了一个更简单的沙盒/控制环境。

答案 1 :(得分:2)

除了Necrolis的回答,还有专门的C ++解析器Cling。可能会派上用场。