マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【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)
ダウンロード
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
- 🏆ランク1位🏆
【ChatGPT探訪】ビルトイン画像生成AI「 DALL·E 3 」🖼️ - 🏆ランク2位🏆
【OSS情報】ディスクイメージング(クローニング)ツール「 Clonezilla 」 - 🏆ランク3位🏆
【無料で使える】「 翻訳 」ツールまとめ - 🏆ランク4位🏆
【OSS情報アーカイブ】Hazelcast - 🏆ランク5位🏆
【OSS情報アーカイブ】GitBucket - 🏆ランク6位🏆
【OSS情報アーカイブ】Joget Workflow - 🏆ランク7位🏆
【OSS情報アーカイブ】Graphite - 🏆ランク8位🏆
【ChatGPT使ってみる実験室】GAS×ChatGPT4で「 URLオープンチェック 」を自動化してみました - 🏆ランク9位🏆
【OSS情報アーカイブ】memcached - 🏆ランク10位🏆
【OSS情報アーカイブ】SonarQube