Manpages

名 前

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に は 以 下 の い ず れ か を 指 定 す る 事 が で き る : xf の と き に は 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 [AT] rz.de

翻 訳 者

古 高 和 禎 <furutaka [AT] Flux.jp> 棚 橋 誠 治 <tanabash [AT] tuhep.jp>