2012-08-11 47 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