-qsaveopt

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qsaveopt
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

对象代码控制

等效编译指示

无。

用途

将用于编译源文件的命令行选项、用户配置文件名和这些配置文件中指定的选项、编译期间调用的每个编译器组件的版本和级别以及其他信息都保存到相应的对象文件中。

语法

读取语法图跳过可视语法图  -q nosaveoptsaveopt

缺省值

-qnosaveopt

使用量

此选项仅在编译为对象 (.o) 文件(即使用 -c 选项)时有效。 尽管每个对象可能包含多个编译单元,但只保存了一份命令行选项副本。 将忽略使用 pragma 伪指令指定的编译器选项。

命令行编译器选项信息以字符串形式复制到对象文件中,使用以下格式:
读取语法图跳过可视语法图 @(#) opt fcC 调用 选项
读取语法图跳过可视语法图 @(#) cfg config_file_options_list
读取语法图跳过可视语法图 @(#) env zhv_var_definition
其中:
f
表示 Fortran 语言编译。
c
表示 C 语言编译。
C
表示 C++ 语言编译。
invocation
显示用于编译的命令,例如 xlc
选项
命令行上指定的命令行选项列表,各个选项以空格分隔。
config_file_options_list
选项的列表,由编译中生效的所有配置文件中的 options 属性指定(以空格分隔)。
env_var_definition
编译器使用的环境变量。 当前仅列出 XLC_USR_CONFIG
注: 您始终可以使用此选项,但仅当设置了环境变量 XLC_USR_CONFIG 时才会生成相应的信息。

有关环境变量 XLC_USR_CONFIG的更多信息,请参阅 编译时间和链接时间环境变量

注: 命令行选项的字符串在 64,000 字节后截断。
编译器版本和发布信息,以及编译过程中调用的每个组件的版本和级别,也会以如下格式保存到目标文件中:
读取语法图跳过可视语法图 @(#)  versionVersion :VV.RR.MMMM.LLLL组件名称Version:VV.RR(product_name)Level:YYMMDD:component_level_ID
其中:
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) 发生变化。

相关信息