マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】GNU Compiler Collection

【OSS情報アーカイブ】GNU Compiler Collection

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「GNU Compiler Collection」とは

「GNU Compiler Collection」基本情報

概要

GNU Compiler Collection(GCC)(グニューコンパイラコレクション)とは、UNIX互換ソフトウェア群開発プロジェクト「GNU」によって開発されるコンパイラ群です。「多くの言語に対応」「マルチアーキテクチャ」などの特徴があります。

基本説明

GNU Compiler Collectionは、GNUプロジェクトが開発/公開しているもので、さまざまなプログラミング言語のコンパイラを集めたパッケージです。

標準パッケージには「C」「Java」などに対応するコンパイラとライブラリが含まれています。

「複数プログラミング言語対応」「複数アーキテクチャ対応」「クロス開発対応」「高い移植性」などの特徴があり、高機能な標準的コンパイラとして利用されています。

GCCは、多くのUNIX系OSで標準的に利用され、商用/非商用を問わず多くの環境で標準的なCコンパイラとして採用されています。「PC/サーバ向け」だけではなく、「組み込み領域」「ゲーム機」など、多くの開発現場で使用されています。

経緯

GNU Compiler Collectionは、GNUプロジェクトの1つとして、1987年に公開されました。

当初は「Cコンパイラ(GNU C Compiler)」としてリリースされていましたが、その後、多くの言語に対応する「コンパイラ群(GNU Compiler Collection)」に改められました。

主な特徴

GCCの構成

GNU Compiler Collectionは、通常のコンパイラと同様に「フロントエンド部」「オプティマイザ(最適化)部」「バックエンド部」から構成されています。

「フロントエンド部」は、字句解析/構文解析処理などを行うブロックで、対応するプログラミング言語ごとに用意されています。

「オプティマイザ(最適化)部」でコード最適化が行われ、「バックエンド部」でCPU固有のコードを生成します。「オプティマイザ(最適化)部」および「バックエンド部」は、プログラミング言語に関わらず共通の処理が動きます。

「フロントエンド部」や「バックエンド部」を開発することで、新しい言語やプロセッサに対応させることが可能です。

標準準拠

GNU Compiler Collectionは、「ANSI」や「ISO」などの標準に準拠しています。

GCC拡張機能

GNU Compiler Collectionでは、独自拡張機能「GCC拡張機能」を利用できます。

  • 多引数マクロ
  • 基本型としての複素数型
  • 式の演算結果としての左辺値
  • 初期化式の拡張
  • Cでのインライン関数定義
  • ネストした関数定義
  • ラベルに対する&演算子の適用
  • asm文によるインラインアセンブラ機能
  • スタックバッファオーバーフローに関する脆弱性回避「ProPolice」 など
ビルトイン関数

GCCには、ビルトイン関数も用意されています。

  • 汎用または内部用関数
  • プリプロセッサー相当機能関数
  • キャッシュ制御等関数
  • 数学関数
  • ビット演算関数
  • 累乗関数
  • バイト順変更関数 など
対応言語

GCCは、多くの言語に対応しています。

  • C
  • C++
  • Objective-C
  • Objective-C++
  • Fortran
  • Ada
  • Java
  • Go など
マルチアーキテクチャ

GCCは、対応するマイクロプロセッサ(MPU/CPU)の種類も豊富である点が特徴です。

  • i386
  • x86-64
  • Itanium
  • SPARC
  • PA-RISC
  • PowerPC
  • ARM など

オフィシャルサイト

オフィシャルサイト

→GCC, the GNU Compiler Collection

ライセンス情報

GNU Compiler Collectionのライセンスは「GNU General Public License」です。

詳細について、こちらを参照ください。
→GCC →Using the GNU Compiler Collection (GCC)

ダウンロード

→GCC →GCC mirror sites

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。