El proyecto LLVM núcleo se compone de:¿Cómo incrustar LLVM?
- Compilador - convierte el código fuente a LLVM IR
- VM - ejecuta el código IR compilado
¿Cómo puedo incrustar la máquina virtual para una aplicación C++?
El proyecto LLVM núcleo se compone de:¿Cómo incrustar LLVM?
¿Cómo puedo incrustar la máquina virtual para una aplicación C++?
Eche un vistazo al ejemplo HowToUseJIT en LLVM.
LLVM es realmente una colección de bibliotecas a las que puede vincular, por lo que es bastante fácil de integrar. Más a menudo, el LLVM toma el IR que usted genera y lo compila directamente en el código de la máquina. También hay una biblioteca disponible para interpretar y ejecutar IR para plataformas que no son compatibles con la compilación de JIT.
Hay un buen tutorial disponible en el sitio web de LLVM aquí: http://llvm.org/docs/tutorial/. Le sugiero que lo revise y luego haga preguntas más específicas si las tiene.
¿Qué biblioteca exactamente? –
Probablemente necesitarás varios de ellos. LLVMCore, LLVMSupport y LLVMSystem son el mínimo indispensable. Realmente depende de lo que quieras hacer, exactamente. Para una lista un tanto desactualizada, ver: http://llvm.org/docs/UsingLibraries.html –
Más típicamente LLVM se utiliza para compilar directamente en el código de máquina. No estoy familiarizado con lo último, pero Apple Clang es el proyecto LLVM más activo, y está siendo postulado como competidor de GCC. – Potatoswatter
@Potatoswatter: desafortunadamente todavía falta un poco Clang (especialmente en C++ 0x) pero tengo una gran esperanza. Además, el diseño modular es tan útil que muchos editores podrían beneficiarse de su analizador. –