我来这里是为了问这个问题,因为这个网站过去对我来说非常有用,似乎有非常知识渊博的用户,他们愿意讨论一个问题,即使它有时是形而上学的。而且还因为谷歌搜索不起作用。
Java 有一个编译器,然后它有一个 JDT 库,可以动态编译 java(例如在 JasperReports 中使用,将报告模板转换为 Java 代码)。
我的问题:有谁知道有一个库/项目可以在 c/c++ 中提供编译为一组库类的功能。例如:一组用于执行预处理、解析、代码优化的类,当然还有对可执行图像(如 ELF 或 Win 格式)的二进制渲染。基本上,它允许人们将 c 或 c++ scriptlet 编译为应用程序的一部分。
您也许可以根据您的需求调整 LLVM 项目中的某些内容。
您可以只要求安装编译器,然后调用它。 这是一个相当高的要求,但也是真正“嵌入”C 或 C++ 的唯一方法。 您可以嵌入一些解释器,但目前这似乎是一个糟糕的选择,尤其是因为脚本中使用的任何库都必须安装开发版本(即标头和源/编译库),并且这些库可能仅限于解释器支持的功能集(例如模板实现的质量)。
您最好使用 Python 或 Lua 等语言来嵌入。
有ch解释器,但我没用过。 通常,对于脚本类型应用程序,使用更自然的脚本语言。
太棒了。看起来 LLVM 就是我所追求的。 非常感谢您的反馈。 我主要并不是将 C++ 作为脚本语言。我注意到Python被用作嵌入式脚本引擎。 我的主要原因有两个:
为什么要在代码上强加不需要的 bload(例如 RTTI),而 RTTI 通常是不够的。相反,人们可以有选择地生成附加功能。但开发人员必须选择何时以及如何使用这些额外的代码。