g77(1) GNU プロジェクト Fortran コンパイラ (v0.5.24)

書式

g77 [option | filename ]...

警告

このマニュアルに書かれた情報は GNU Fortran コンパイラ (version 0.5.24) の 完全なドキュメンテーションからの抜粋であり、 いくつかのオプションの意味の記述にとどめます。

このマニュアルはボランティアのメンテナンスが行なわれていないので、 最新の情報を示してはいません。 もしこのマニュアルと実際のソフトウェアの間に矛盾点があれば、 正式なドキュメントである Info ファイルのほうを参照して下さい。

このマニュアル中の古い記述が重大な混乱や不具合をきたすことになれば、 このマニュアルページの配布は中止します。 GNU Fortran のメンテナンス作業の都合上、 Info ファイルを更新した時にマニュアルページも併せて更新することは 実際的ではありません。マニュアルページは時代遅れであり、 これに時間をかけるべきではないと GNU プロジェクトでは考えています。

完全な最新のドキュメンテーションが必要な場合は、Info ファイルの`g77' またはマニュアルの Using and Porting GNU Fortran (for version 0.5.24) を参照して下さい。この双方は Texinfo のソースファイル g77.texi から生成されます。

システムに`info' コマンドがインストールされていて、 g77 が正しくインストールされていれば、コマンド`info g77' でうまくいくでしょう。 システムに `info' がないか, 今のところは使いたくなくても、 g77 が正しくインストールされていれば、 コマンド `more /usr/info/g77.info*' でうまくいくでしょう。

もし g77 が正しくインストールされていなくて、その Info ファイルが簡単には 利用できないなら、システム管理者か (もし知っているのなら) g77 をインストールした人に問題を解決するように頼んで下さい。

解説

C と F77 のコンパイラは統合されています。 g77 は Fortran (ANSI FORTRAN 77、F77 とも呼ばれます) で書かれたプログラムを 認識するためのオプションをつけて gcc を呼び出すプログラムです。 gcc では、入力ファイルは、プリプロセス、コンパイル、アセンブル、リンクの 4 つの 処理ステージのうちの 1 つ以上のステージを踏んで処理されます。 このマニュアルには、一般的な目的のためのオプションのまとめもありますが、 完全な説明があるのはコンパイラの F77 に固有の面 だけ です。 コンパイラのより充実した説明が必要なときは、 gcc(1) を参照して下さい。

GNU Fortran の完全なドキュメントが必要なときは `info g77' と入力して下さい。

F77 ソースファイルは拡張子 `.f', `.for', `.FOR' を使います。 cpp(1) によって前処理される F77 ファイルは 拡張子 `.F', `.fpp', `.FPP' を使います。ratfor ソースファイルは拡張子 `.r' を使います ( ratfor 自体は g77 の一部として提供されてはいませんが)。

オプション

gccg77 に共通の、最適化や警告やコード生成の詳細を制御するオプションを含む 多くのコマンドラインオプションがあります。 すべてのオプションの完全な情報が必要な場合は、 gcc(1) を参照して下さい。

オプションは分割されていなければなりません。すなわち `-dr' は `-d -r ' とは異なった扱いを受けます。

ほとんどの `-f' と `-W' 形式のオプションには、 -fname-fno-name (または -Wname-Wno-name) の形式の、対照的な表現があります。ここではデフォルトでない形式 のみを示します。

-c
ソースファイルを、コンパイルまたはアセンブルまではしますが、リンクはしません。 コンパイラの出力は、それぞれのソースファイルに対応したオブジェクトファイル となります。
-Dmacro
マクロ macro に対して文字列 `1' を定義として与えます。
-Dmacro=defn
マクロ macrodefn として定義します。
-E
プリプロセス処理が終了したところで停止します。コンパイルはしません。 出力はプリプロセス済みのソースコードであり、標準出力へと送られます。
-g
オペレーティングシステムのネイティブのフォーマット (DBX, SDB,DWARF) で デバッグ情報を生成します。GDB はこのデバッグ情報に基づいて動作することが できます。 DBX フォーマットを使用するほとんどのシステムにおいては、`-g' を指定すると、GDB だけが使用できる余分なデバッグ情報が使用可能に なります。

他の多くの Fortran コンパイラと異なり、GNU Fortran は `-g' を `-O' とともに使用することを許しています。最適化されたコードが通る近道は、 時には驚くべき結果を生み出すかもしれません。 定義したはずの変数が存在しなかったり、 制御の流れが予想もしなかった場所に移動したり、結果が定数とわかる計算や、 結果がすでに手元にある文は実行されなくなり、ある文がループの外に追い出されて 別の場所で実行されたりします。

それにも関わらず、このオプションは最適化された出力のデバッグを可能とし ています。これによって、バグを含むかもしれないプログラムに対して オプティマイザを使用することができるようになります。

-Idir
ディレクトリ dir を、インクルードファイルの検索するディレクトリのリスト中に追加します。
-Ldir
ディレクトリ dir を `-l' による検索が行なわれるディレクトリのリストに加えます。
-llibrary
名前が library であるライブラリをリンク時に使用します。
-nostdinc
ヘッダファイルのための標準のシステムディレクトリを検索しません。 -I オプションによって指定したディレクトリ (またはカレントディレクトリ) のみを検索します。
-O
最適化を行います。最適化コンパイルは幾分長めの処理時間と、大きな関数に対 する非常に多くのメモリを必要とします。これ以上の最適化オプションについては GCC ドキュメントを参照して下さい。 特にループ展開は典型的な数値計算の Fortran プログラムにとっては 調べる価値があるかも知れません。
-o file
出力先を file に指定します。
-S
コンパイルが終った所で処理を停止し、アセンブルは行いません。 アセンブラコードではない入力ファイルが指定された場合は、出力は アセンブラコードのファイルになります。
-Umacro
マクロ macro の定義を無効にします。
-v
(標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを 表示します。コンパイラドライバ、プリプロセッサおよび本来のコンパイラの 各バージョン番号も表示します。g77 自体のバージョン番号と、 それが基づいている GCC ディストリビューションのバージョン番号は 別のものです。
-Wall
たとえマクロとの組み合わせであっても、 避けたほうがいいと我々が推奨する用法や、 簡単に避けることができると我々が信じている用法に関する場合に警告します

関連ファイル

file.h C 言語ヘッダ (プリプロセッサ) ファイル
file.f Fortran ソースファイル
file.for Fortran ソースファイル
file.FOR Fortran ソースファイル
file.F プリプロセス済みの Fortran ソースファイル
file.fpp プリプロセス済みの Fortran ソースファイル
file.FPP プリプロセス済みの Fortran ソースファイル
file.r ratfor ソースファイル (ratfor は含まれていません)
file.s アセンブリ言語ファイル
file.o オブジェクトファイル
a.out リンクエディット済みの出力
TMPDIR/cc*        一時ファイル群

LIBDIR/cpp        プリプロセッサ

LIBDIR/f771       コンパイラ

LIBDIR/libg2c.a   Fortran 実行時ライブラリ

LIBDIR/libgcc.a   GCC サブルーチンライブラリ

/lib/crt[01n].o   スタートアップルーチン

/lib/libc.a       標準ライブラリ、
intro(3) を参照
/usr/include      
#include ファイルのための標準                    ディレクトリ

LIBDIR/include    
#include ファイルのための GCC 標準                    ディレクトリ

LIBDIR は通常 /usr/local/lib/machine/version の形式を持ちます。

TMPDIR は環境変数 TMPDIR (もし使用可能ならば /usr/tmp を、そうでなければ /tmp を使用します) からとられます。

バグ

バグを報告する方法については、`info g77 -n Bugs' と入力して下さい。

COPYING

Copyright (c) 1991-1998 Free Software Foundation, Inc.

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 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 this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.

作者

GNU CC に対して貢献した人々に関しては、GNU CC マニュアルを参照して下さい。 GNU Fortran に対して貢献した人々に関しては、GNU Fortran マニュアルを 参照して下さい。