2010-08-20 12 views
11

Il progetto LLVM nucleo è costituito da:Come incorporare LLVM?

  • Compiler - consente di convertire il codice sorgente di LLVM IR
  • VM - esegue il codice IR compilato

Come posso incorporare la VM a un'applicazione C++?

+1

Più tipicamente LLVM è usato per compilare direttamente in codice macchina. Non ho familiarità con le ultime novità, ma Apple Clang è il progetto LLVM più attivo e viene postulato come concorrente di GCC. – Potatoswatter

+0

@Potatoswatter: sfortunatamente Clang è ancora un po 'carente (specialmente nelle funzionalità C++ 0x) ma ho davvero una grande speranza. Anche il design modulare è così utile, un gran numero di editor potrebbe trarre vantaggio dal suo parser. –

risposta

7

Date un'occhiata l'esempio HowToUseJIT in LLVM.

8

Il LLVM è davvero una collezione di librerie che è possibile collegare a, quindi è abbastanza facile da incorporare. Più spesso LLVM prende IR che tu lo generi e lo compili direttamente al codice macchina. È disponibile anche una libreria per interpretare ed eseguire IR per piattaforme che non supportano la compilazione JIT.

C'è una bella buon tutorial disponibili sul sito LLVM qui: http://llvm.org/docs/tutorial/. Ti suggerisco di passare a quello e poi di porre domande più specifiche se li hai.

+0

Quale libreria esattamente? –

+2

Probabilmente ne avrai bisogno di diversi. LLVMCore, LLVMSupport e LLVMSystem sono il minimo indispensabile. Dipende davvero da cosa vuoi fare, esattamente. Per un elenco un po 'obsoleto, vedi: http://llvm.org/docs/UsingLibraries.html –