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


Using and Porting GNU CC

Richard M. Stallman

Last updated 28 February 1998

for version 2.8.1

Copyright (C) 1988, 89, 92, 93, 94, 95, 96 Free Software Foundation, Inc. For GCC Version 2.8.1
Published by the Free Software Foundation
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
Last printed November, 1995.
Printed copies are available for $50 each.
ISBN 1-882114-36-1 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," "Funding for Free Software," and "Protect Your Freedom--Fight `Look And Feel'" 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," "Funding for Free Software," and "Protect Your Freedom--Fight `Look And Feel'", 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 のコンパイル

このコンパイラの C、C++、Objective C の各バージョンは統合されています。 GNU C コンパイラは、 C、C++、Objective C で記述されたプログラムをコンパイルすることができます。

「GCC」というのは、 GNU C コンパイラを指すために一般的に使われる省略形です。 これは、 このコンパイラに対して使われる最も一般的な名前であり、 かつ、 C のプログラムをコンパイルする点を強調する際に使われる名前でもあります。

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

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

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

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

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


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