「Low Level Virtual Machine」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''Low Level Virtual Machine''' | + | '''Low Level Virtual Machine'''(ろーれべるばーちゃるましーん,'''LLVM''')とは、様々な[[プログラミング言語]]の様々な[[コンパイラ]]に共通の「[[最適化]]」を提供する目的で開発されているコンパイラ基盤である。 |
− | + | LLVMでは様々な[[プログラミング言語]]に「共通」の「最適化」を提供するため、LLVM対応コンパイラからLLVMが指定する[[中間コード]]形式で出力してもらうい、LLVMはその[[中間コード]]に対してプラットフォーム非依存の最適化、プラットフォーム依存の最適化など段階的な最適化を行い、最終的に[[ネイティブコード]]を出力する。 | |
− | LLVMでは様々な[[プログラミング言語]] | ||
− | LLVMは[[RISC]]と非常によく似た[[命令セット]]を持つ極めて実在の[[CPU]]の[[ネイティブコード]]に近い[[仮想マシン]]および[[中間コード]]のひとつとなっており、[[Java VM]](と[[Javaバイトコード]])や[[共通言語基盤]](と[[共通中間言語]] | + | LLVMは[[RISC]]と非常によく似た[[命令セット]]を持つ極めて実在の[[CPU]]の[[ネイティブコード]]に近い[[仮想マシン]]および[[中間コード]]のひとつとなっており、[[Java VM]](と[[Javaバイトコード]])や[[共通言語基盤]](と[[共通中間言語]])などと比べると抽象度は極めて低く、あくまで[[最適化]]に徹するため[[ガベージコレクション]]や[[セキュリティサンドボックス]]などの余計な機構は持たないという特徴がある。 |
− | + | LLVMでは様々な[[プログラミング言語]]という建前はあるが、その実態は[[GPL]]撲滅を訴える[[BSD]]信者たちにより、[[gcc]]にとって代わるべく開発が進められている[[clang]]と呼ばれる[[C言語]]の[[コンパイラ]]が主軸となっており、事実上のセットであると考えてほぼ間違いない。 | |
− | |||
− | ==関連項目== | + | == 関連項目 == |
+ | * [[中間コード]] | ||
+ | * [[コンパイラー]] | ||
− | + | == 参考文献 == | |
− | + | <references/> | |
− | ==外部リンク== | + | == 外部リンク == |
− | + | * http://llvm.org/ | |
− | *http://llvm.org/ | ||
{{stub}} | {{stub}} |