マジセミドライブ

ウェビナー関連のニュースや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

参考元サイト

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

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 VMWare 問題 」とは?🖥️

「 VMWare 」の仮想化技術は、「ITインフラの効率化」に大きく貢献する技術ですが、Broadcomによる買収後のライセンス変更が大きな問題として注目されています。柔軟で慎重な契約見直しが今後の鍵となります。

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 経済産業省:コンテンツ制作のための 生成AI 利活用ガイドブック 」とは?📘

経済産業省による「 生成AI 利活用ガイドブック 」は、企業やクリエイター向けに、安心して「生成AI」を利用するための、「指針」「実例」「注意点」を明示しています。「業務効率化」や「新しいアイデア創出」の支援を目的としています。

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

デジタル寺田の3分用語解説

2024.11.18

【デジタル寺田の3分用語解説】「 2029年問題 」とは?📅

「 2029年問題 」とは、高校でのデジタル教育改革により、新入社員と既存社員間でデジタルスキル格差が拡大する懸念を指します。企業は早急に対応が求められています。この格差は、企業競争力や業務効率にも、影響を及ぼす可能性があります。