使用中的 C++ 編譯器相關資訊。
成員
- all_files
- ar_executable
- built_in_include_directories
- 編譯器
- compiler_executable
- CPU
- dynamic_runtime_lib
- gcov_executable
- ld_executable
- libc
- needs_pic_for_dynamic_libraries
- nm_executable
- objcopy_executable
- objdump_executable
- preprocessor_executable
- static_runtime_lib
- strip_executable
- sysroot
- target_gnu_system_name
- to_json
- to_proto
all_files
depset CcToolchainInfo.all_files傳回所有工具鍊檔案 (以便將這些檔案以此工具鍊做為輸入內容傳遞至動作)。
ar_executable
string CcToolchainInfo.ar_executablear 二進位檔的路徑。
built_in_include_directories
list CcToolchainInfo.built_in_include_directories傳回編譯器的內建目錄清單。
編譯器
string CcToolchainInfo.compilerC++ 編譯器。 可能會傳回
None
。
compiler_executable
string CcToolchainInfo.compiler_executable編譯器二進位檔的路徑。
cpu
string CcToolchainInfo.cpuC++ 工具鍊的目標 CPU。 可能會傳回
None
。
dynamic_runtime_lib
depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)會傳回 `dynamic_runtime_lib` 屬性中的檔案 (以便將這些檔案傳送至使用此工具鏈做為輸入內容的動作)。呼叫端可以檢查 feature_configuration 是否已啟用 `static_link_cpp_runtimes` 功能 (如果未啟用,則不必使用 `static_runtime_lib` 或 `dynamic_runtime_lib`),並在啟用靜態連結模式時使用 `static_runtime_lib`。
參數
參數 | 說明 |
---|---|
feature_configuration
|
必要 要查詢的功能設定。 |
gcov_executable
string CcToolchainInfo.gcov_executablegcov 二進位檔的路徑。
ld_executable
string CcToolchainInfo.ld_executableld 二進位檔的路徑。
libc
string CcToolchainInfo.libclibc 版本字串。 可能會傳回
None
。
needs_pic_for_dynamic_libraries
bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)如果此規則的編譯方式應套用 -fPIC,則傳回 true,否則傳回 false。決定是否應根據 C++ 工具鍊和是否存在 `--force_pic` Bazel 選項,為這項規則的 C++ 編譯套用 -fPIC。
參數
參數 | 說明 |
---|---|
feature_configuration
|
必要 要查詢的功能設定。 |
nm_executable
string CcToolchainInfo.nm_executablenm 二進位檔的路徑。
objcopy_executable
string CcToolchainInfo.objcopy_executableobjcopy 二進位檔的路徑。
objdump_executable
string CcToolchainInfo.objdump_executableobjdump 二進位檔的路徑。
preprocessor_executable
string CcToolchainInfo.preprocessor_executable預處理器二進位檔的路徑。
static_runtime_lib
depset CcToolchainInfo.static_runtime_lib(feature_configuration)傳回來自「static_runtime_lib」屬性的檔案 (以便傳送至使用這個工具鍊做為輸入內容的動作)。呼叫端應檢查 feature_configuration 是否已啟用「static_link_cpp_runtimes」功能 (如果不使用,都不應使用「static_runtime_lib」和「dynamic_runtime_lib」)。如果動態連結模式已啟用,請使用「dynamic_runtime_lib」。
參數
參數 | 說明 |
---|---|
feature_configuration
|
必要 要查詢的功能設定。 |
strip_executable
string CcToolchainInfo.strip_executable等量二進位檔的路徑。
sysroot
string CcToolchainInfo.sysroot傳回要使用的 sysroot。如果工具鏈編譯器不支援不同的 sysroot,或是 sysroot 與預設 sysroot 相同,則這個方法會傳回
None
。可能會傳回 None
。
target_gnu_system_name
string CcToolchainInfo.target_gnu_system_nameGNU 系統名稱。可能會傳回
None
。
to_json
string CcToolchainInfo.to_json()已淘汰,這個 API 已淘汰,並將在近期移除。請勿仰賴這項功能。這項功能已停用
---incompatible_struct_has_no_methods
。使用這個標記,驗證您的程式碼是否與即將移除的標記相容。使用結構體參數建立 JSON 字串。只有在所有結構體元素 (遞迴) 都是字串、整數、布林值、其他結構體、這些類型的清單,或是含有這些類型字串鍵和值的字典時,這個方法才有效。字串中的引號和換行符號會逸出。例如:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}。
已淘汰:請改用 json.encode(x) 或 json.encode_indent(x),這兩者適用於結構體以外的值,且不會污染結構體欄位命名空間。
to_proto
string CcToolchainInfo.to_proto()已淘汰。這個 API 已淘汰,並將在近期內移除。請勿仰賴這項功能。
---incompatible_struct_has_no_methods
會停用。使用這個標記,驗證您的程式碼是否與即將移除的標記相容。使用結構體參數建立文字訊息。只有在所有 struct 元素 (遞迴) 為字串、整數、布林值、其他結構體、這些型別的 dict 或清單時,此方法才有效。字串中的引號和換行符號會逸出。結構鍵會按照排序順序疊代。示例:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
已淘汰:請改用 proto.encode_text(x)。