2012-08-11 69 views
10

是否有可能从一个本地CC++ -compiled程序做这些事(GCC):生成并从本地运行LLVM代码C/C++

  1. 呼叫clang和编译函数的定C代码,通过为const char *
  2. 获取一个指针并在LLVM虚拟机中运行它。
  3. 在原生程序中获取结果并继续。

怎么样?

+0

我认为需要一个更好的描述性标题来吸引更多SO用户的关注。 – Nawaz 2012-08-11 12:14:39

+0

@Nawaz好点,我现在纠正它。 – Cartesius00 2012-08-11 12:15:53

+2

当然这是可能的。例如,请参阅http://root.cern.ch/drupal/content/cling。 – 2012-08-11 18:39:56

回答

7

对于一个简约的例子,请参阅Clang interpreter

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

+0

究竟是什么东西? – Cartesius00 2012-08-13 20:57:56

+0

@ James,它是基于LLVM和Clang的交互式C++解释器,可以选择集成到ROOT中。他们更旧的Cint事情的替代品。 – 2012-08-14 06:51:37

+0

这是我在代码下面发布的内容。 Cling实现了由llvm提供的JIT,请参阅以下关于如何使用它的链接:http://llvm.org/docs/tutorial/LangImpl4.html – Robin 2012-08-14 21:38:56