-qsaveopt
種類
@PROCESS
無。
用途
將用於編譯原始檔的指令行選項、 使用者的配置檔名稱和配置檔中指定的選項、編譯期間所呼叫的每一個編譯器元件的版本和層次 以及其他資訊儲存至對應的物件檔。
語法
預設值
-qnosaveopt
用法
只有在編譯成物件 (.o) 檔 (亦即,使用 -c 選項) 時,這個選項才會生效。 雖然每一個物件可能包含多個編譯單元,但只會儲存一個指令行選項副本。 系統不處理以 @PROCESS 指引指定的編譯器選項。
指令行編譯器選項資訊會使用下列格式,以字串形式複製到物件檔中:
其中:
- f
- 表示 Fortran 語言編譯。
- c
- 表示 C 語言編譯。
- C
- 表示 C++ 語言編譯。
- 呼叫
- 顯示用於編譯的指令,例如 xlf。
- 選項
- 在指令行上指定的指令行選項清單,個別選項以空格區隔。
- config_file_options_list
- 在編譯中生效的所有配置檔中,由 options 屬性指定的選項清單 (以空格區隔)。
- env_var_definition
- 編譯器使用的環境變數。 目前只會列出 XLF_USR_CONFIG 。附註: 您一律可以使用此選項,但只有在設定環境變數 XLF_USR_CONFIG 時才會產生對應的資訊。
附註: 指令行選項的字串會在 64,000 個位元組之後截斷。
編譯器版本和版次資訊,以及編譯期間所呼叫之每一個元件的版本和層次,也會以下列格式儲存至物件檔:其中:
- V
- 代表版本。
- R
- 代表版本。
- M
- 代表修改。
- L
- 代表層次。
- 元件名稱
- 指定針對此編譯所呼叫的元件,例如低階最佳化工具。
- 產品名稱
- 指出元件所屬的產品 (例如,
C/C++或Fortran)。 - YYMMDD
- 代表已安裝更新 (PTF)的年、月及日期。 如果安裝的更新項目是基本層次,則該層次會顯示為 BASE。
- 元件層次 ID
- 代表與已安裝元件層次相關聯的 ID。
如果您只想將此資訊輸出至標準輸出,而不將它寫入物件檔,請使用 -qversion 選項。
範例
使用下列指令編譯
t.f :xlf t.f -c -qsaveopt -qhot
在產生的
t.o 物件檔上發出 什麼 指令會產生類似下列的資訊:opt f /opt/IBM/xlf/16.1.0/bin/.orig/xlf t.f -c -qsaveopt -qhot
cfg -qnozerosize -qsave -qalias=intptr -qposition=appendold -qxlf90=noautodealloc:nosignedzero:oldpad
-qxlf77=intarg:intxor:persistent:noleadzero:gedit77:noblankpad:oldboz:softeof
-qxlf2003=nopolymorphic:nobozlitargs:nostopexcept:novolatile:noautorealloc:oldnaninf
-qxlf2008=nocheckpresence -bh:4
version IBM XL Fortran for AIX, V16.1.0
version Version: 16.01.0000.0000
version Driver Version: 16.1.0(Fortran) Level: 181109 ID: _zQHcZ-PkEeiLR71RxbOxBQ
version Fortran Front End and Run Time Version: 16.1.0(Fortran) Level: 181109 ID: _JvIo0uLBEeiLR71RxbOxBQ
version Fortran Transformer Version: 16.1.0(Fortran) Level: 181109 ID: _RMfFct2CEeiLR71RxbOxBQ
version High-Level Optimizer Version: 16.1.0(C/C++) and 16.1.0(Fortran) Level: 181109 ID: _Qjr1At6_EeiLR71RxbOxBQ
version Low-Level Optimizer Version: 16.1.0(C/C++) and 16.1.0(Fortran) Level: 181109 ID: _I0DVINq0EeiLR71RxbOxBQ
在第一行中, t.f 會識別用來作為 Fortran的來源, bin/xlf 會顯示所使用的呼叫指令,而 -qhot -qsaveopt 會顯示編譯選項。 第二行以 cfg開頭,顯示配置檔所新增的編譯器選項。
其餘行會列出編譯期間所呼叫的每一個編譯器元件,以及其版本和層次。 由多個產品共用的元件可能會顯示多個版本號碼。 顯示的層次號碼可能會根據您系統上已安裝的更新項目 (PTF) 而變更。
