Subject   :LLVM (Low Level Virtual Machine )

カテゴリー  : パソコン > ソフト > プログラミング 


 LLVM (Low Level Virtual Machine )
LLVMとは、様々なプログラミング言語(のコンパイラ)に対し、そのコードを様々なコンピュータやOSに対応させることができる共通の基盤を提供するソフトウェア。

LLVMは機械語に似た独自の言語(中間言語)を規定しており、どのようなプログラミング言語で記述されたプログラムもいったんこの中間言語による形式に変換される。LLVMは中間言語から様々な機種・OSで動作するプログラム(ネイティブコード)への変換機構を提供し、元の記述言語がなんであれ、中間言語に翻訳されたプログラムはLLVMが対応しているすべての環境で同じように動作させることができる。

ネイティブ形式への変換は、実行時に変換しながら実行する仮想マシン(VM:Virtual Machine)方式と、開発時に静的な実行ファイルを生成して提供する方式が選択できる。中間言語へのコンパイル時にも、ネイティブ形式へのコンパイル時にも適切な最適化が実施され、高速に動作するプログラムが得られる。

プログラミング言語側から見れば、LLVM中間言語形式へ変換するソフトウェア(フロントエンドと呼ばれる)を開発すれば、個別の機種やOSに対応しなくてもLLVMによって様々な環境に対応させることができる。また、各機種やOSから見れば、LLVMが自らの環境をサポートしてくれれば、他の環境と共通の様々なプログラミング言語を利用してソフトウェアを開発することができるようになる。

LLVMは2000年にイリノイ大学で開発が創始されたもので、オープンソースソフトウェアとして公開されており、誰でも自由に入手、改変、再配布などを行なうことができる。

● 


   ⇒ Java

[メニューへ戻る]  [HOMEへ戻る]  [前のページに戻る]