Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
fort77 - f2c Fortranトランスレータを透過的に起動し、コンパイラ的に使う。
書式
fort77 [-c] [-g] [-v] [-k] [-P] [-cpp] [f2c option ...] [-L directory ...] [gcc-option ...] [link option ...] [-O optlevel] [-o outfile] [-s] [-w] [-Wx,arg1[,arg2]...] file ...
説明
fort77 スクリプトは f2c コマンドを透過的に起動するので、 このスクリプトは本物のFortranコン パイラのように使用することができる。 Fortran、C言語、アセンブラコードのコンパイル、およ びf2cライブラリ とのリンクに使用できる。 末尾に .f のあるファイル引数はFortranのソースファイルとしてコンパイルされる。 ファイル名の 末尾に .P のあるファイルはそのままf2cに渡され、 .F のあるファイルは、最初に( "/lib/cpp -traditional" で起動される) C プリプロセッサに渡される。 -D で指定されたすべてのスイッチは プリプロセッサに渡される。 FortranからCへの 変換が成功すると、生成されたCのファイルは cc に渡され、オブジェクトファイルに変換される。 ファイル名の末尾が .c, .C, .cc, .i, .s, .S, .m, .cc あるいは .cxx のファイルは直接GNU Cコンパイラに渡される。 gcc(1) を参照。 それ以外 のすべてのファイルはリンカに渡される。
オプション
-c リンクは行なわず、それぞれのソースファイルからオブジェクトファイル( .o )を作る。 -g デバッグ情報を含める。 -v 冗長モードにして詳細な情報を出力する; このオプションをふたつつけることによっ て、Cコンパイラなどの出力も冗長 モードにすることができる。 -k f2cによって生成されたCのファイルを残す。 -cpp ファイル名の末尾が .F で終っているかの様に、FortranコードをCプリプロセッサに引き渡 す。 -P f2cの .P ファイルを生成する。 -Ldirectory 最終的なリンク時のライブラリサーチパスに directory を含める。 -o outfile 結果を outfile に出力する。 -Wx,arg1[,arg2...] 引数 argi をサブプロセスxにそのまま渡す。 ここで xには以下のいずれかを指定する事が できる: x が f のときにはf2cに引数が渡される。 同様に p のときにはプリプロセッサ に、 c のときにはCコンパイラに、 a のときにはアセンブラ(これも実際はCコンパイ ラ)に、 l のときにはリンカに渡される。 例えば、Cのコンパイル時にプリプロセッサ定数 を定義するには -Wc,-DUNIX=1 とする。また、f2cの -f オプションを指定するには -Wf,-f とする。 f2c のオプション つぎに列挙する様に殆どの f2c オプションはそのまま f2c に引き渡される: -C, -U, -u, -a, -E, -h, -P, -R, -r, -z, -I2, -I4, -onetrip, -!c, -!l, -!P, -!R, -ext, -!bs, -W[n], -w8, -r8, -w66 gcc のオプション つぎのオプションはgccにそのまま引き渡される: -f*, -W*, -U*, -A*, -m*, -S, -E, -v, -x, -pipe, -o, -I, -V, -b*, -p, -pg リンカへのオプション リンク段階に渡されるオプションは -static, -shared, -v, -V, -symbolic
バグ
デバッグ機能を働かせるためには、最初にブレークポイントを MAIN__ に設定する必要がある。 このスクリプトは、自動的に -I. オプションをつけて f2c を起動する。 古いバージョンの f2c ではこのオプションをサポートしていないかもしれない。 このスクリプトはgccとf2cの組合せ用に作られている。それ以外のコンパイ ラを用いる場合には多 分変更が必要だろう。 gccとは異なり、-Oを指定すると自動的に -ffast-math オプションも指定される。 この事が問題を 起こす場合には、 -fnofast-math によってこの設定を無効にすることができる。 fort77 スクリプトはスラッシュから始まるロングオプションを受け付けるので、 厳密に Posix.2 に従っているわけではない。 これは gcc との互換性のためである。
著者
Thomas Koenig, ig25@rz.uni-karlsruhe.de
翻訳者
古高和禎 <furutaka@Flux.tokai.jaeri.go.jp> 棚橋誠治 <tanabash@tuhep.phys.tohoku.ac.jp>