2010-08-20 17 views
11

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++?

+1

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

+0

@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. –

Respuesta

7

Eche un vistazo al ejemplo HowToUseJIT en LLVM.

8

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.

+0

¿Qué biblioteca exactamente? –

+2

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 –