从本地C/C++生成和运行LLVM代码

10

一个使用原生的CC++编译的程序(gcc)可以实现以下这些功能吗:

  1. 调用 clang 并编译给定的作为 const char * 传递的C函数代码。
  2. 获取指针并在LLVM虚拟机中运行它。
  3. 在本地程序中获取结果并继续执行。

如何实现呢?


我认为需要一个更好、更具描述性的标题,以吸引更多 Stack Overflow 用户的注意。 - Nawaz
@Nawaz 不错,我已经纠正了它。 - Cartesius00
2
当然可以。例如,请参见http://root.cern.ch/drupal/content/cling。 - SK-logic
3
这是一个重复的问题,与 https://dev59.com/1XA75IYBdhLWcg3wkZ6A 相同。 - razeh
1
看看Cling。你可以查看这篇文章中的C++解释器函数示例:http://solarianprogrammer.com/2012/08/14/cling-cpp-11-interpreter/ - mmisu
1个回答

7

一个极简的例子,请参见Clang解释器

Cling是这种方法的更实用的例子。


@James,它是基于LLVM和Clang的交互式C++解释器,并可选择集成到ROOT中。有点像他们旧的Cint工具的替代品。 - SK-logic
这是我在代码下面发布的内容。Cling 实现了由 llvm 提供的 JIT,请参阅此链接以了解如何使用它:http://llvm.org/docs/tutorial/LangImpl4.html - Robin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接