2
llvmを使用してネイティブコードを生成する方法は?LLVMネイティブコード生成
可能であれば、Haskellバインディングを使用して行うことはできますか?
upd:私はメモリにコードを生成しない、つまりコードを生成する方法を意味し、たとえばファイルに保存することを意味します。
llvmを使用してネイティブコードを生成する方法は?LLVMネイティブコード生成
可能であれば、Haskellバインディングを使用して行うことはできますか?
upd:私はメモリにコードを生成しない、つまりコードを生成する方法を意味し、たとえばファイルに保存することを意味します。
LLVMは、コンパイラによってテキストソースまたはメモリ内表現として生成されたinternal languageを処理してネイティブコードを生成し、最終的なネイティブコードに変換してリンクする前にさまざまな最適化と変換を行うコンパイラインフラストラクチャです。つまり、LLVMはネイティブコードを生成できます。実際、それがその主な目的です。
ハスケルにはbinding to the LLVM libraryがあります。 writeBitcodeToFile
でLLVMビットコードファイルを生成できます。 llvm-ld
はそれらをネイティブコードにリンクできます。