跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Studio 12.3:C 用户指南 Oracle Solaris Studio 12.3 Information Library (简体中文) |
B.2.7 -Dname[( arg[,arg])][= expansion]
B.2.59 -Qoption phase option[,option..]
B.2.65 -traceback[={ %none|common|signals_list}]
B.2.79.1 用于 SPARC 和 x86 的 -xarch 标志
B.2.81 -xbinopt={prepare| off}
B.2.82 -xbuiltin[=( %all|%default|%none)]
B.2.89.1 -xcheck=init_local 的初始化值
B.2.94 -xdebugformat=[stabs|dwarf ]
B.2.97 -xdumpmacros[= value[,value...]]
B.2.103 -xinstrument=[ no%]datarace
B.2.108 -xkeepframe[=[ %all,%none,name,no% name]]
B.2.137 -xpchstop=[file |<include>]
B.2.141 -xprefetch[= val[,val]]
B.2.142 -xprefetch_auto_type= a
B.2.145 -xprofile_ircache[ =path]
B.2.155.1 -xtarget 值(SPARC 平台)
B.2.160 -xtrigraphs[={ yes|no}]
B.2.162 -xustr={ascii_utf16_ushort |no}
通过缺省编译器选项文件,用户可以指定一组应用于所有编译的缺省选项,除非另行覆盖。例如,该文件可以指定所有编译的缺省级别为 —xO2 ,或自动包括文件 setup.il。
启动时,编译器会搜索缺省选项文件,并列出应对所有编译包含的缺省选项。环境变量 SPRO_DEFAULTS_PATH 可指定要在其中搜索缺省文件的冒号分隔目录列表。
如果该环境变量未设置,则会使用一组标准缺省设置。如果该环境变量已设置但为空,则不会使用任何缺省设置。
缺省文件名的格式必须是 compiler.defaults,其中 compiler 为以下值之一:cc、c89、c99、CC、ftn 或 lint。例如,C 编译器的缺省文件名应为 cc.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/cc.defaults -I/project/src/hdrs —L/project/libs —llibproj —xvpara demo% setenv SPRO_DEFAULTS_PATH /project/defaults demo% cc —c —I/local/hdrs —L/local/libs —lliblocal tst.c
此命令现在等效于:
cc -fast —xvpara —c —I/local/hdrs —L/local/libs —lliblocal tst.c \ —I/project/src/hdrs —L/project/libs —llibproj
尽管编译器缺省文件提供了可为整个项目设置缺省值的便利方法,但它也可能成为问题难以诊断的原因。将环境变量 SPRO_DEFAULTS_PATH 设置为当前目录以外的绝对路径可避免出现此类问题。
缺省选项文件的接口稳定性未确定。选项处理顺序在以后的发行版中可能会更改。