有没有可以编译C++或C的库

问题描述 投票:0回答:5

我来这里是为了问这个问题,因为这个网站过去对我来说非常有用,似乎有非常知识渊博的用户,他们愿意讨论一个问题,即使它有时是形而上学的。而且还因为谷歌搜索不起作用。

Java 有一个编译器,然后它有一个 JDT 库,可以动态编译 java(例如在 JasperReports 中使用,将报告模板转换为 Java 代码)。

我的问题:有谁知道有一个库/项目可以在 c/c++ 中提供编译为一组库类的功能。例如:一组用于执行预处理、解析、代码优化的类,当然还有对可执行图像(如 ELF 或 Win 格式)的二进制渲染。基本上,它允许人们将 c 或 c++ scriptlet 编译为应用程序的一部分。

c++ compiler-construction
5个回答
14
投票

是的:llvm。特别是,clang。至少,他们是这样宣传项目的。另外,请检查这个问题。如果您决定使用 llvm,它可能会相关。


5
投票

您也许可以根据您的需求调整 LLVM 项目中的某些内容。


4
投票

您可以只要求安装编译器,然后调用它。 这是一个相当高的要求,但也是真正“嵌入”C 或 C++ 的唯一方法。 您可以嵌入一些解释器,但目前这似乎是一个糟糕的选择,尤其是因为脚本中使用的任何库都必须安装开发版本(即标头和源/编译库),并且这些库可能仅限于解释器支持的功能集(例如模板实现的质量)。

您最好使用 Python 或 Lua 等语言来嵌入。


1
投票

有ch解释器,但我没用过。 通常,对于脚本类型应用程序,使用更自然的脚本语言。


1
投票

太棒了。看起来 LLVM 就是我所追求的。 非常感谢您的反馈。 我主要并不是将 C++ 作为脚本语言。我注意到Python被用作嵌入式脚本引擎。 我的主要原因有两个:

  1. 摆脱 Make、CMake 和 Autoconf 之类的东西,并将其替换为 Scons 之类的东西,它绑定到编译的所有阶段并与之交互
  2. 解析后挂钩编译过程并自动生成代码。特别是元相关代码。就我而言,我已经能够用 C++ 实现 Java 的几乎所有功能,除了反射之外。

为什么要在代码上强加不需要的 bload(例如 RTTI),而 RTTI 通常是不够的。相反,人们可以有选择地生成附加功能。但开发人员必须选择何时以及如何使用这些额外的代码。

© www.soinside.com 2019 - 2024. All rights reserved.