GNU関連

GNUデバッガ

GNUデバッガ(単にgdbとも)は、GNUソフトウェア・システムで動く標準のデバッガである。 これは、多くのUnix系システムで動作可能な移植性の高いデバッガであり、Ada、C言語C++FORTRAN、FreeBASICといったプログラミング言語に対応している。

DBは、プログラムの実行の変更や追跡といった充実した機能を提供する。プログラム内部の 変数 の値を修正したり、監視したりすることや、プログラムの通常の動作とは別に 関数 を呼び出すことができる。

GNU

GNU(グヌー)とはオペレーティングシステムであり、かつコンピュータソフトウェアの広範囲に渡るコレクションである。GNUは完全にフリーソフトウェアから構成されている。GNUは"GNU's Not Unix!"(「GNUUNIXではない」)の再帰的頭字語である。この名称が選ばれたのは、GNUUnix系の設計ではあるがUNIXとは違いフリーソフトウェアでありUNIXに由来するソースコードを全く使っていないことを示すためである。

完全にフリーなUNIXライクなOSを開発するために、1984年にスタートしたソフトウェア開発プロジェクト。米国のプログラマーリチャード・ストールマン氏が創立した「FSF(Free Software Foundation)」という団体が推進している。フリーとは単なる無料という意味ではなく、利用者に対してコードの改変を認めたり、(改変をしたものを含めて)ソースコードの配布を認める(そして義務づける)というもの。代表的なソフトウェアに、Cコンパイラー「gcc」、エディター「GNU Emacs」などがある。

gcc

gcc(GNU Compiler Collection)とは、GNUプロジェクトが開発・公開しているコンパイラのことである。様々なプログラミング言語コンパイラを集めたパッケージとなっている。多くのUNIX系OSで標準的に利用され、オープンソースのOSではOS自体のコンパイルに用いられることも多い。

様々な言語に対応しており、標準ではC言語C++Objective-CFortranJava、Ada、Goのコンパイラが同梱されている。「gcc」はgcc内のCコンパイラの名称および実行ファイル名でもあり、C++コンパイラのことは「g++」、Javaコンパイラは「GCJ」(GNU Compiler for Java)と呼ばれる。

gccは字句解析などを行うフロントエンド、コードの最適化を行うオプティマイザ、CPU固有のコードを生成するバックエンドに分かれており、フロントエンドやバックエンドを開発・追加することで新しい言語やプロセッサに対応させることができる。

g++

g++ は、GNUGCC に含まれる C++コンパイラ(C++コンパイラ)である。UnixWindows で g++ コマンドとして利用する。GCCではCコンパイラーとC++コンパイラーは統合されており、g++は別名に過ぎない。