如何在C ++程序中运行C脚本代码

时间:2017-10-18 17:33:38

标签: c++ c

我想运行一个我称之为"脚本C代码"来自我的C ++程序中的字符串,例如:

int main(){
    // my string (from a file): printf("Hello, Stackoverflow!")
    RunScript(MyStringScript);
    return 0;
}

我可以使用clang或其他,但我不知道该怎么做......

PS:目标不是制作C解释器,不,只需运行C代码来扩展我的程序。

2 个答案:

答案 0 :(得分:0)

实现目标的最佳方法是使用C解释器库。

例如,你可以使用这个:https://github.com/jpoirier/picoc

答案 1 :(得分:0)

你也可以用libjit来做。因为您正在运行系统编译器,所以可以编译任何ISO C / C ++代码(picoc不完全是ISO C完成)

强制免责声明:在运行时运行用户提供的代码是非常危险的,除非它被正确地沙箱化。也许考虑采取另一种方式。