|
ガランと鳴る音 =========================== 「 Clang 」を含む部分一致用語の検索リンク〔 3 件 〕 ・as harsh as the clang of a fire engine : 消防車のカンカンという音のように耳ざわりな ・clang : ガランと鳴る音 ・harsh as the clang of a fire engine : 消防車のカンカンという音のように耳ざわりな
Clang (:クランのように発音 )は、プログラミング言語 C、C++、Objective-C、Objective-C++ 向けのコンパイラフロントエンドである。バックエンドとして LLVM を使用しており、LLVM 2.6以降は LLVM の一部としてリリースされている。 プロジェクトの目標は、GNUコンパイラコレクション (GCC) を置き換えることのできるコンパイラを提供することである。開発は完全にオープンソースの方法で進められており、アップルやGoogleといった大企業も参加・資金提供している。ソースコードは、ライセンスで提供されている。 Mac OS XおよびiOS(ともにXcodeの付属として)、ならびにFreeBSDにおいて標準のコンパイラとして採用されている。 Clang プロジェクトではコンパイラのフロントエンドに加えてClang静的コード解析ツールも開発している。 == 背景 == 2005年初頭、アップルはLLVMシステムを自社で開発している様々なシステム内で利用するための作業を開始した〔Adam Treat, ''mkspecs and patches for LLVM compile of Qt4 〕。LLVMはGCCのツールチェインの低レベルの部分を置き換えることが可能であり、GCCの3番地コードによる中間表現よりも積極的な最適化が可能である。LLVMではGCC同様にコードを静的にコンパイルすることも、JavaのようにJITコンパイルを用いて後で中間言語から機械語に変換することもできる。 LLVMは元々イリノイ大学アーバナ・シャンペーン校で開発され、BSDライセンスに似たライセンスでリリースされていた〔Clang team, ''clang: a C language family frontend for LLVM ''〕。したがって Clang は再配布に制約がほとんどないが、GCCはGPLでライセンスされており、開発者にコードをGPLで配布してもらう必要があった。 当初LLVMはGCCツールチェーンの一部となることを目標にしていたが、最近ではGCCの他の部分を置き換えることにも興味の対象を置いている。GCCは巨大なシステムで開発がしづらい面もあり、長年のGCCの開発者の一人は「カバにダンスを踊らせるのはあまり楽しいことではない」と述べている〔 Kenneth Zadeck, ''LLVM/GCC Integration Proposal '', 19 Nov 2005, GCC development mailing list〕。 アップルは Objective-C を多用しているため性能を向上させることに興味を抱いていたが、通常の GCC の開発からはほとんど進展が見られず、Objective-C の性能を上げるためには、 GCC をアップル版に分岐させるか、新しいコンパイラを採用するかを選択することになった。そこで、アップルは C99、Objective-C と C++ をサポートするコンパイラを1から作成した。この Clang プロジェクトは2007年7月にオープンソース化された。 アップルはLLVMを多数の商用システムに使用している。現在最も目に触れるのはMac OS X用のOpenGLコードコンパイラであり、OpenGLをサポートしないGPU用にOpenGLの呼び出しをより基礎的なコードに変換する。これにより、アップルはIntel GMAチップセットを搭載したコンピュータ上でも、 OpenGLのAPI全体をサポートできるようになった〔Chris Lattner, ''LLVM for OpenGL and other stuff '', Apple Computer, May 2007〕 。もっと強力なチップセット用にはコードは使用するハードウェアの機能を用いるようコンパイルされるが、GMAを用いたシステムでは同じOpenGLのコードを同じように動作するソフトウェアのサブルーチンに置き換える。LLVMはXcode 3.1 (iOS SDK) 以降の一部である。 Android NDK では、デフォルトは gcc ではあるものの、2012年11月の Revision 8c より、Clang もコンパイラの一つとして提供している。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Clang」の詳細全文を読む スポンサード リンク
|