マジセミドライブ

ウェビナー関連のニュースや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分用語解説】「 人的資本経営 」とは?🧑‍💼

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

2024.10.08

【デジタル寺田の3分用語解説】「 人的資本経営 」とは?🧑‍💼

「 人的資本経営 」は、企業が従業員のスキルや経験、意欲を高めるために投資を行い、長期的な企業価値の向上を目指す経営手法です。本記事では、人的資本経営の意義やその具体的な取り組みについて分かりやすく解説します。

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

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

2024.10.07

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

「 ASM 」(アタックサーフェースマネジメント)は、システムに存在する脆弱性や攻撃の入り口を可視化し、管理することでリスクを特定し、対策を講じる手法です。攻撃者がシステムに侵入するために利用できる潜在的な脆弱性を理解し、適切な対策を取ることが、セキュリティ対策の第一歩となります。

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

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

2024.10.07

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

「 SAP 2027問題 」とは、「SAP ERP 6.0」が2027年末でサポート終了する問題です。セキュリティリスクを避けるため、早期に新システムへの移行が必要です。移行は業務プロセスの見直し、効率化のチャンスにもなります。新しい技術を積極的に導入し、挑戦していくことが成功の鍵となります。