Sun Studio 12:Fortran 用户指南

2.2.7 无法识别的命令行参数

编译器无法识别的命令行参数将被解释为可能是链接程序选项、目标程序文件名或库名称。

基本区别是:

例如:


demo% f95 -bit move.f           <-  -bit 不是可识别的 f95 选项
f95: Warning: Option -bit passed to ld, if ld is invoked, ignored otherwise
demo% f95 fast move.f           <-   用户本意是要键入 -fast
ld: fatal: file fast: cannot open file; errno=2
ld: fatal: File processing errors.  No output written to a.out

请注意,在第一个示例中,f95 无法识别 -bit,该选项将被传递给链接程序 (ld),后者试图对其进行解释。因为单字母 ld 选项可以串联起来,所以链接程序会将 -bit 视为 -b -i -t,而这些都是合法的 ld 选项!这可能是(也可能不是)用户所希望的结果。

在第二个示例中,用户想键入 f95 选项 -fast,但忽略了前导短线。编译器再次将参数传递给链接程序,而链接程序将参数解释为一个文件名。

这些示例表明在编写编译器命令行时应格外小心!