「Clang」の版間の差分

編集の要約なし
編集の要約なし
 
3行目: 3行目:


==概要==
==概要==
2007年、[[gcc]]の[[ライセンス]]が[[GPL v2]]から[[GPL v3]]に変更された<ref>http://www.osnews.com/comments/18305</ref>[[BSD]]界隈は絶望に暮れた。それ以降も[[FreeBSD]]などでは古いgccを使い続けて耐えてきたが限界に近づきつつあった。そこへ颯爽と発表されたのが[[BSDライセンス]]の亜種を採用したclangと[[llvm]]であった。滅亡の危機に瀕していた[[BSD原理主義者]]たちは歓喜し、急激にその完成度を高め、現在のかたちとなった。
2007年、[[gcc]]の[[ライセンス]]が[[GPL v2]]から[[GPL v3]]に変更された<ref>http://www.osnews.com/comments/18305</ref>。このライセンスは[[BSDライセンス]]とは相慣れないものであり[[BSD]]界隈は絶望に暮れた。そのため[[FreeBSD]]や[[OpenBSD]]などではGPL v2時代の古いgccを使い続けてきた。
 
そこへ颯爽と発表されたのが[[BSDライセンス]]の亜種を採用したclangと[[LLVM]]であった。滅亡の危機に瀕していた[[BSD原理主義者]]たちは歓喜し、急激にその完成度を高め、現在のかたちとなった。


clangプロジェクトの傘下に[[LLVM]]というサブプロジェクトを持っていたが、現在(LLVM2.6以降)では立場が逆転し[[LLVM]]の一部としてclangがリリースされている。
clangプロジェクトの傘下に[[LLVM]]というサブプロジェクトを持っていたが、現在(LLVM2.6以降)では立場が逆転し[[LLVM]]の一部としてclangがリリースされている。


clangで[[コンパイル]]を行うと[[LLVM]]向けの[[中間言語]]が出力され、[[llvm]]から[[ネイティブコード]]が出力されるため、「clangはコンパイラフロントエンド」と呼ばれることも多い。しかしながら、実際のところclangを利用する[[プログラマ]]はclang(フロント)とllvm(バック)を意識する必要はほとんどないため、小難しいことは考えずに普通のコンパイラだと考えてよい。
clangで[[コンパイル]]を行うと[[LLVM]]向けの[[中間言語]]が出力され、[[LLVM]]から[[ネイティブコード]]が出力される。このため「clangはコンパイラフロントエンド」と呼ばれることも多い。しかしながらclangを利用する[[プログラマ]]はclang(フロント)と[[LLVM]](バック)を意識する必要はほとんどないため、小難しいことは考えずに普通の[[コンパイラ]]だと考えてよい。


[[FreeBSD]]は標準の[[コンパイラ]]として採用している。
[[FreeBSD]]は標準の[[コンパイラ]]として採用している。また、[[FreeBSD]]から派生した[[Mac OS X]]および[[iOS]]ではclangでも標準のコンパイラとなっている。
また、[[Mac OS X]]および[[iOS]]ではclangはgccと共に標準のコンパイラとなっている。


大規模な資金提供などを行っている団体としては、[[Apple]]、[[Google]]、[[Microsoft]]などが名を連ねている。
大規模な資金提供などを行っている団体としては、[[Apple]]、[[Google]]、[[Microsoft]]などが名を連ねている。


==関連項目==
==関連項目==
*[[gcc]]
*[[gcc]]