-qsaveopt
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qsaveopt | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
将用于编译源文件的命令行选项、用户配置文件名和这些配置文件中指定的选项、编译期间调用的每个编译器组件的版本和级别以及其他信息都保存到相应的对象文件中。
语法
缺省值
-qnosaveopt
使用量
此选项仅在编译为对象 (.o) 文件(即使用 -c 选项)时有效。 尽管每个对象可能包含多个编译单元,但只保存了一份命令行选项副本。 将忽略使用 pragma 伪指令指定的编译器选项。
命令行编译器选项信息以字符串形式复制到对象文件中,使用以下格式:
其中:
- f
- 表示 Fortran 语言编译。
- c
- 表示 C 语言编译。
- C
- 表示 C++ 语言编译。
- invocation
- 显示用于编译的命令,例如 xlc。
- 选项
- 命令行上指定的命令行选项列表,各个选项以空格分隔。
- config_file_options_list
- 选项的列表,由编译中生效的所有配置文件中的 options 属性指定(以空格分隔)。
- env_var_definition
- 编译器使用的环境变量。 当前仅列出 XLC_USR_CONFIG 。注: 您始终可以使用此选项,但仅当设置了环境变量 XLC_USR_CONFIG 时才会生成相应的信息。
注: 命令行选项的字符串在 64,000 字节后截断。
编译器版本和发布信息,以及编译过程中调用的每个组件的版本和级别,也会以如下格式保存到目标文件中:其中:
- v
- 表示版本。
- R
- 表示发行版。
- 一
- 表示修改。
- L
- 表示级别。
- component_name
- 指定为此编译调用的组件,例如低级优化器。
- product_name
- 指示组件所属的产品(例如
C/C++或Fortran)。 - YYMMDD
- 表示安装更新 (PTF) 的年、月和日期。 如果安装的更新位于基本级别,那么级别将显示为 BASE。
- component_level_ID
- 表示与已安装组件的级别相关联的标识。
如果要简单地将此信息输出到标准输出而不将其写入对象文件,请使用 -qversion 选项。
预定义的宏
无。
示例
使用以下命令编译
t.c :xlc t.c -c -qsaveopt -qhot
对生成的
t.o 对象文件发出 内容 命令会生成类似于以下内容的信息:opt c /opt/IBM/xlc/16.1.0/bin/xlc t.f -c -qsaveopt -qhot
cfg -qlanglvl=extc99 -qcpluscmt -qkeyword=inline -qalias=ansi -D_AIX -D_AIX32
-D_AIX41 -D_AIX43 -D_AIX50 -D_AIX51 -D_AIX52 -D_AIX53 -D_IBMR2 -D_POWER
version IBM XL C/C++ for AIX, V16.1.0
version Version: 16.01.0000.0000
version Driver Version: 16.1.0(C/C++) Level: YYMMDD
version Front End Version: 16.1.0(C/C++) Level: YYMMDD
version C Front End Version : 16.1.0(C/C++) Level: YYMMDD
version High-Level Optimizer Version: 16.1.0(C) and 16.1.0(Fortran) Level: YYMMDD
version Low-Level Optimizer Version: 16.1.0(C) and 16.1.0(Fortran) Level: YYMMDD
在第一行中, c 标识用作 C的源, /opt/ibm/xlC/16.1.1/bin/xlc 显示所使用的调用命令, -qhot -qsaveopt 显示编译选项。
其余行列出了编译期间调用的每个编译器组件,以及它的版本和级别。 多个产品共享的组件可能会显示多个版本号。 显示的级别编号可能会根据您在系统上安装的更新 (PTF) 发生变化。
