跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:Fortran 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
通过缺省编译器选项文件,用户可以指定一组适用于所有编译(除非另行覆盖)的缺省选项。例如,该文件可以指定所有编译的缺省优化级别为 —xO2,或自动包括文件 setup.il。
启动时,编译器会搜索一个缺省选项文件,该文件列出了编译器针对所有编译应包括的缺省选项。环境变量 SPRO_DEFAULTS_PATH 指定要在其中搜索缺省文件的目录的冒号分隔列表。
如果未设置此环境变量,将使用一组标准缺省文件。如果设置了该环境变量但该变量为空,将不使用任何缺省文件。
缺省文件名的格式必须为 compiler.defaults,其中 compiler 是以下项之一:cc、c89、c99、CC、ftn 或 lint。例如,用于 Fortran 编译器的缺省文件为 ftn.defaults。
如果在 SPRO_DEFAULTS_PATH 列出的目录中找到了适用于编译器的缺省文件,则编译器将读取该文件,并在处理命令行上的选项之前处理这些选项。将使用找到的第一个缺省文件,搜索将终止。
系统管理员可能会在 Studio-install-path/prod/etc/config 中创建适用于整个系统范围的缺省文件。如果设置了该环境变量,将不会读取已安装的缺省文件。
缺省文件的格式类似于命令行。文件中的每行可以包含一个或多个编译器选项(用空格分隔)。Shell 扩展(例如通配符和替换)不适合在缺省文件中的选项中使用。
SPRO_DEFAULTS_PATH 的值和完全展开的命令行将显示在由 —dryrun 选项生成的详细输出中。
用户在命令行上指定的选项通常会覆盖从缺省文件中读取的选项。例如,如果缺省文件指定使用 —xO4 进行编译,而用户在命令行上指定了 —xO2,则将使用 —xO2 进行编译。
在缺省选项文件中出现的某些选项将附加到在命令行上指定的选项后面。这些选项包括预处理程序选项 —I,链接程序选项 —B、—L、—R 和 —l,以及所有文件参数(例如:源文件、目标文件、归档文件和共享目标文件)。
以下示例是用户提供的缺省编译器选项启动文件的一种可能使用方式。
demo% cat /project/defaults/ftn.defaults -I/project/src/hdrs —L/project/libs —llibproj —xvpara demo% setenv SPRO_DEFAULTS_PATH /project/defaults demo% f95 —c —I/local/hdrs —L/local/libs —lliblocal tst.f
此命令现在等效于:
f95 -fast —xvpara —c —I/local/hdrs —L/local/libs —lliblocal tst.f \ —I/project/src/hdrs —L/project/libs —llibproj
虽然编译器缺省文件能够使用户方便地为整个项目设置缺省值,但它同时可能会使问题诊断变得困难。请将环境变量 SPRO_DEFAULTS_PATH 设置为绝对路径而非当前目录以避免此类问题。
缺省选项文件的接口稳定性是 uncommitted(未确定)。选项处理顺序在以后的发行版中可能会发生变化。