F77(1) — NEWS-OS Programmer’s Manual
名称
f77 − Fortran 77 コンパイラ
形式
f77 [ option ] ... file ...
解説
f77 は、 NEWS−OS の Fortran 77 コンパイラです。 いくつかのタイプの引数 が使えます。
名前が‘.f’で終わっている引数は、 Fortran 77 のソースプログラムと見なされます。 これらのソースプログラムはコンパイルされ、 各オブジェクトファイルは、 カレントディレクトリ内に残されます。オブジェクトファイル名は、 ソースの名前の‘.f’を ‘.o’で置き換えたものです。
名前が‘.F’で終わっている引数も、 Fortran 77 のソースプログラムと見なされます。 これらのソースプログラムは、 f77 によってコンパイルされる前に Cプリプロセッサによって処理されます。
名前が‘.r’または‘.e’で終わっている引数は、 それぞれ Ratfor または EFL のソースプログラムと見なされます。 これらのソースプログラムは、 適切なプリプロセッサによって前処理されてから f77 によってコンパイルされます。
名前が‘.c’または‘.s’で終わっている引数は、 Cまたはアセンブリのソースファイルと見なされてコンパイルまたはアセンブルされ、 ‘.o’ファイルが作られます。
以下のオプションは cc (1) の場合と同じ意味を 持っています。 ロード時のオプションについては、 ld(1) を 参照してください。
−c ローディング段階を 抑制し、 各ソースファイルについて‘.o’ファイルを 作ります。
−g dbx(1) のための付加的なシンボルテーブル情報を 作り、 異常終了時にメモリイメージがファイル core に書き込まれるようにするために、 −lg フラグを ld(1) に渡します。 −O と共に使用することはできません。
−o output
最終出力ファイル の名前を‘a.out’の代わりに output に指定します。
−p プロファイル作成のために、オブジェクトファイルを 準備します。 prof(1) を 参照してください。
−pg −p と同様にカウンティングコードを コンパイラに作らせますが、 より幅の広い統計を キープし、 正常終了時に gmon.out ファイルを 作る実行時記録メカニズムを 呼び出します。 これで gprof(1) を 使用して実行プロファイルを 生成することができます。
−w 警告メッセージを すべて抑制します。 オプションを ‘−w66’とした場合には、 Fortran 66 と互換性のある警告メッセージだけが抑制されます。
−Dname=def
−Dname
‘#define’で定義するのと同様に、 Cプリプロセッサに対して name を 定義します。 定義が与えられない場合には、 名前は"1"として定義されます(‘.F’のサフィックスを 持つファイルだけ)。
−Idir 名前が‘/’で始まっていない‘#include’ファイルは、 まず引数 file のディレクトリ内が、 次に −I オプションで指定されたディレクトリ内が、 そして最後に標準的なリストにあるディレクトリ内が探されます(‘.F’サフィックスを 持つファイルについてだけ)。
−O オブジェクトコード最適化プログラムを 呼び出します。 −g と共に使用することはできません。
−S 指定されたプログラムを コンパイルし、 アセンブラ言語の出力を サフィックス‘.s’が付けられた対応するファイルに残します (‘.o’は作成されません)。
以下のオプションは f77 に固有なオプションです。
−d コンパイラを デバッグするために使用されます。
−i2 short 型の整数を サポートするマシンで、 デフォルトの整数の定数と変数を short 型にします。 (−i4 がこのオプションの標準的な値です。) すべての論理的な数量は short になります。
−q コンパイルの最中に行われるファイル名とプログラムユニット名の表示を 抑制します。
−m Ratfor または EFL プリプロセッサで‘.r’ファイルを 処理する前に、 各‘.r’ファイルにM4プリプロセッサを 適用します。
−onetrip
−1 DOループが最低 1回は実行されるように コンパイルします (Fortran 77 の DO ループは、 上限値が下限値よりも小さい場合には、 1回も実行されません)。
−r8 すべての浮動小数点変数、 定数、 関数、 組み込み関数を 倍精度として扱い、 すべての複素数を 倍精度複素数として扱います。
−u デフォルトの Fortran 規則を 使用せずに、 変数のデフォルトのタイプを ‘未定義’にします。
−v コンパイラのバージョン番号と、 実行中の各パスの名前を 表示します。
−C サブスクリプト(添字)が宣言されている配列境界内にあることを チェックするために、コードを コンパイルします。 多次元配列の場合には、 一次元に相当するサブスクリプトだけがチェックされます。
−F Cプリプロセッサを ‘.F’ファイルに、 そして EFL または Ratfor プリプロセッサを ‘.e’、 および‘.r’ファイルに適用し、 コンパイルは行わずに、 サフィックスが‘.f’のファイルに結果を 収めます。
−Ex ‘.e’ファイルの処理で、 文字列 x を EFL のオプションとして使用します。
−Rx ‘.r’ファイルの処理で、 文字列 x を Ratfor のオプションとして使用します。
−N[qxscn]nnn
コンパイラ内の静的なテーブルを 大きくします。 コンパイラは、 そのテーブルを オーバーフローした場合には 注意を促し、 1つまたは複数のフラグを 使用するように示唆します。 これらのフラグは、 次の意味を 持っています。
q EQUIVALENCE 指定された変数の最大数。 デフォルトは 150。
x 外部名(共通ブロック名、 サブルーチン名および関数名)の最大数。 デフォルトは 200。
s 行番号の最大数。 デフォルトは 401。
c 制御文(例えば DO ループ)のネスティングの深さの最大値。 デフォルトは 20。
n 識別名の最大数。 デフォルトは 1009。
−U 大文字を 小文字に変換しません。 デフォルトでは、 文字列定数内を 除いて、 Fortran プログラムは小文字に変換されます。
他の引数は、 ローダのオプション引数、または F77 と互換性のある オブジェクトプログラム(通常は以前の実行によって作られたもの)、 またはF77と互換性のあるルーチンライブラリのいずれかと見なされます。 これらのプログラムは、 指定されたコンパイルの結果とともに、 指定された順にロードされて‘a.out’という名前の 実行可能プログラムになります。
f77 を 用いてコンパイルされたプログラムは、 ローディングで −g フラグが指定されていると、 異常終了時にはファイル core にメモリダンプを 作ります。 環境変数 f77_dump_flag が y または n にセットされていると、 異常終了時のダンプがぞれぞれ強制または抑制されます。
関連ファイル
file.[fFresc]入力ファイル
file.oオブジェクトファイル
a.outロードされた結果
/usr/lib/f77pass1コンパイラ
/lib/f1パス2
/lib/c2オプションの最適化プログラム
/lib/cppCプリプロセッサ
/usr/lib/libF77.a組み込み関数ライブラリ
/usr/lib/libI77.aFortran の I/O ライブラリ
/usr/lib/libU77.aNEWS−OS インタフェースライブラリ
/usr/lib/libm.a数学ライブラリ
/lib/libc.aCライブラリ、第3章を参照
/usr/lib/libF77_p.a組み込み関数ライブラリのプロファイル
/usr/lib/libI77_p.aFortran の I/O ライブラリのプロファイル
/usr/lib/libU77_p.aNEWS−OS インタフェースライブラリのプロファイル
/usr/lib/libm_p.a数学ライブラリのプロファイル
/usr/lib/libc_p.aCライブラリのプロファイル、第 3章を参照
mon.outprof(1) の解析用に作られるファイル
gmon.outgprof(1) の解析用に作られるファイル
関連事項
S. I. Feldman, P. J. Weinberger, J. Berkman, A Portable Fortran 77 Compiler
D. L. Wasley, J. Berkman, Introduction to the f77 I/O Library
fpr(1), fsplit(1), ld(1), ar(1), ranlib(1), dbx(1), intro(3f)
efl(1), ratfor(1), struct(1), prof(1), gprof(1), cc(1)
診断
f77 によって出される診断は、 それ自体が説明になるように作られています。 ローダによってメッセージが出されることもあります。
バグ
約 50,000 行より長いファイルは、 分割してコンパイルしなければなりません。
NEWS-OSRelease 4.1C