gcc 【GNU Compiler Collection】 GNU C Compilier

概要

gcc(GNU Compiler Collection)とは、GNUプロジェクトが開発・公開しているコンパイラ。様々なプログラミング言語のコンパイラを集めたパッケージとなっている。LinuxなどのUNIX系OSの多くで標準的に利用され、オープンソースのオペレーティングシステム(OS)ではOS自体のコンパイルに用いられることも多い。

様々な言語に対応しており、標準ではC言語やC++言語、Objective-CFortran、Ada、Go言語、D言語、Rustのコンパイラが同梱されている。以前はJavaコンパイラ(GCJ:GNU Compiler for Java)も含まれていた。「gcc」はgcc内のCコンパイラの名称および実行ファイル名でもあり、C++コンパイラ「g++」のように、各言語用コンパイラはそれぞれ固有の名称を持つ。

gccは字句解析構文解析などを行う「フロントエンド」、コードの最適化を行う「オプティマイザ」、CPU固有のコードを生成する「バックエンド」に分かれている。フロントエンドは言語ごと、バックエンドはCPUアーキテクチャごとに用意されている。

フロントエンドやバックエンドを開発・追加することで新しい言語やプロセッサに対応させることができ、標準のフロントエンド以外にもPascalCOBOL、VHDLなど様々な言語用のフロントエンドが開発・公開されている。

バックエンドが標準で対応するCPUアーキテクチャの種類も豊富で、インテル(Intel)系プロセッサ(x86およびx86-64)のほか、ARM(AArch32およびAArch64)やPowerPC、AVR、RISC-V、z/Architectureなど様々な命令セットアーキテクチャ(ISA)の機械語プログラムを生成することができる。パソコンやサーバなど汎用コンピュータ向けのソフトウェア開発だけでなく、組み込み機器向けや家庭用ゲーム機向けの開発でも利用されることが多い。

gccは1987年から開発されており、GNUプロジェクトの主要な成果物の一つとして知られる。GPLGNU General Public License)と呼ばれる利用許諾(ライセンス)に基いてオープンソースソフトウェアとして公開されており、誰でも自由に入手、利用、改変、再配布などをすることができる。

(2023.9.4更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。