2012-02-15 5 views
2

llvmを使用してネイティブコードを生成する方法は?LLVMネイティブコード生成

可能であれば、Haskellバインディングを使用して行うことはできますか?

upd:私はメモリにコードを生成しない、つまりコードを生成する方法を意味し、たとえばファイルに保存することを意味します。

答えて

10

LLVMは、コンパイラによってテキストソースまたはメモリ内表現として生成されたinternal languageを処理してネイティブコードを生成し、最終的なネイティブコードに変換してリンクする前にさまざまな最適化と変換を行うコンパイラインフラストラクチャです。つまり、LLVMはネイティブコードを生成できます。実際、それがその主な目的です。

ハスケルにはbinding to the LLVM libraryがあります。 writeBitcodeToFileでLLVMビットコードファイルを生成できます。 llvm-ldはそれらをネイティブコードにリンクできます。

関連する問題