マジセミドライブ

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

参考元サイト

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

この記事のタグ一覧

おすすめの記事

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。