2010-08-20 8 views
11

Die LLVM Kernprojekt besteht aus:Wie LLVM einzubetten?

  • Compiler - konvertiert Quellcode LLVM IR
  • VM - führt eine kompilierte IR-Code

Wie kann ich die VM auf eine C++ Anwendung einbetten?

+1

Typischer wird LLVM verwendet, um direkt zu Maschinencode zu kompilieren. Ich bin nicht mit den neuesten vertraut, aber Apple Clang ist das aktivste LLVM-Projekt, und es wird als Konkurrent zu GCC positioniert. – Potatoswatter

+0

@Potatoswatter: Clang ist leider immer noch ein bisschen (besonders in C++ 0x Features), aber ich habe wirklich große Hoffnung. Auch das modulare Design ist einfach so nützlich, viele Redakteure könnten von seinem Parser profitieren. –

Antwort

7

Werfen Sie einen Blick auf das HowToUseJIT-Beispiel in LLVM.

8

Die LLVM ist wirklich eine Sammlung von Bibliotheken, die Sie verknüpfen können, so dass es sehr einfach zu integrieren ist. Häufiger nimmt die LLVM IR, die Sie erzeugen, und kompiliert es direkt zum Maschinencode. Es steht auch eine Bibliothek zur Verfügung, um IR für Plattformen zu interpretieren und auszuführen, die die JIT-Kompilierung nicht unterstützen.

Es gibt ein ziemlich gutes Tutorial auf der LLVM-Website hier: http://llvm.org/docs/tutorial/. Ich schlage vor, dass Sie das durchgehen und dann spezifischere Fragen stellen, wenn Sie sie haben.

+0

Welche Bibliothek genau? –

+2

Wahrscheinlich werden Sie mehrere von ihnen brauchen. LLVMCore, LLVMSupport und LLVMSystem sind das absolute Minimum. Es hängt wirklich davon ab, was du genau machen willst. Eine etwas veraltete Liste finden Sie unter: http://llvm.org/docs/UsingLibraries.html –