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++?
Il progetto LLVM nucleo è costituito da:Come incorporare LLVM?
Come posso incorporare la VM a un'applicazione C++?
Date un'occhiata l'esempio HowToUseJIT in LLVM.
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.
Quale libreria esattamente? –
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 –
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
@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. –