Sun Studio 12: Fortran ユーザーズガイド

2.2.7 認識されないコマンド行引数

コンパイラが認識できない引数がコマンド行で指定された場合、リンカーオプション、オブジェクトプログラムのファイル名、またはライブラリ名の可能性があるとして解釈されます。

基本的には次のように区別されます。

例:


demo% f95 -bit move.f           <-  -bit は f95 オプションとして認識されません。
f95: 警告: ld が起動される場合は、オプション -bit は ld に渡されます。
それ以外は無視されます。
demo% f95 fast move.f           <-   入力ミス (-fast と入力しようとした)
ld: fatal: ファイル fast: ファイルをオープンできません: 
ファイルもディレクトリもありません。
ld: fatal: ファイル処理エラー。a.out へ書き込まれる出力がありません。

最初の例では、-bitf95 では認識されず、このオプションはこれを解釈しようとするリンカー (ld) に渡されます。ld では 1 文字のオプションを続けて並べることもできるため、-bit-b -i -tと解釈されます。-b-i-t はいずれも ld の有効なオプションであるからです。これは、ユーザーが意図している場合と、意図していない場合とがあります。

2 つ目の例では、f95 の共通のオプションとして -fast を指定しようとしていますが、先頭のハイフンが抜けています。この場合も、コンパイラは引数をリンカーに渡し、リンカーはこれをファイル名と解釈します。

前述の例から、コンパイラコマンドを指定する場合には、十分な注意が必要であることがわかります。