[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]  


Using and Porting the GNU Compiler Collection

Richard M. Stallman

Last updated 28 July 1999

for gcc-2.95

Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. For GCC Version 2.95
Published by the Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
Last printed April, 1998.
Printed copies are available for $50 each.
ISBN 1-882114-37-X Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the sections entitled "GNU General Public License" and "Funding for Free Software" are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the sections entitled "GNU General Public License" and "Funding for Free Software", and this permission notice, may be included in translations approved by the Free Software Foundation instead of in the original English.

C、C++、Objective C、Fortranのコンパイル

このコンパイラの C、 C++、 Objective C、 Fortran の各バージョンは統合されています。 これが、 「GNUコンパイラ・コレクション(GNU Compiler Collection)」 という名前を使う理由です。 GCCは、 C、 C++、 Objective C、 Fortran で記述されたプログラムをコンパイルすることができます。 Fortranコンパイラについては、 別のマニュアルで説明しています。

「GCC」というのは、 GNUコンパイラ・コレクションを指すために一般的に使われる省略形です。 これは、 このコンパイラに対して使われる最も一般的な名前でもありますが、 その一方で、 Cのプログラムをコンパイルする点を強調する際に使われる名前でもあります (というのも、 この略称が以前は、 「GNU Cコンパイラ」を意味していたからです)。

C++のコンパイルについて言及している場合には、 このコンパイラのことを通常は「G++」と呼びます。 コンパイラは1つしか存在しないので、 言語コンテキストが何であれ、 このコンパイラのことを「GCC」と呼んでも誤りではありません。 しかし、 C++プログラムのコンパイルのことを強調したい場合には、 「G++」という用語の方が役に立つでしょう。

このコンパイル・システム全体について言及する場合、 また、 このコンパイラのうち言語に依存しない部分のことを特に言及する場合、 私たちは「GCC」という名前を使います。 例えば、 最適化オプションのことを指して、 「GCC」の振る舞いに影響を与えるというように言いますし、 ときには単に、 「コンパイラ」の振る舞いに影響を与えるというように言うこともあります。

Ada 9X、 Fortran、 Modula-3、 Pascalのような他の言語のためのフロント・エンドも現在開発中です。 これらのフロント・エンドも、 C++のフロント・エンドと同じように、 GCCのサブディレクトリに構築され、 GCCとリンクされます。 この結果、 C、 C++、 Objective C、 さらに、 その言語用のフロント・エンドがインストールされている任意の言語を使って記述されたプログラムをコンパイルすることのできる、 統合コンパイラが出来上がります。

このマニュアルでは、 C、 Objective-C、 C++用のコンパイラに対するオプションと、 GCCのコア部分に対するオプションについてのみ議論します。 他の言語で記述されたプログラムをコンパイルする際に使うオプションについては、 その言語のフロント・エンドのドキュメントを調べてください。

G++はコンパイラであり、 単なるプリプロセッサではありません。 G++は、 C++プログラムのソースから直接オブジェクト・コードを構築します。 コンパイルの途中で、 そのC++プログラムに対応するCのコードが生成されることはありません (これに対して、 他のいくつかのC++コンパイラの実装では、 C++のソースからCのプログラムを生成するプログラムを使っています)。 コンパイルの途中でプログラムをCによって表現することを回避するということは、 より良いオブジェクト・コードとより良いデバッグ情報を手に入れることができるということを意味しています。 GNUのデバッガGDBは、 オブジェクト・コードの中のこのデバッグ情報を使うことによって、 C++のソース・レベルにおいて包括的な変更作業を行うための機能を提供しています (Debugging with GDBの`C and C++'を参照)。


[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]