Informasi tentang compiler C++ yang digunakan.
Anggota
- all_files
- ar_executable
- built_in_include_directories
- compiler
- 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_filesMenampilkan semua file toolchain (sehingga dapat diteruskan ke tindakan menggunakan toolchain ini sebagai input).
ar_executable
string CcToolchainInfo.ar_executableJalur ke biner ar.
built_in_include_directories
list CcToolchainInfo.built_in_include_directoriesMenampilkan daftar direktori bawaan compiler.
compiler
string CcToolchainInfo.compilerCompiler C++. Dapat menampilkan
None
.
compiler_executable
string CcToolchainInfo.compiler_executableJalur ke biner compiler.
cpu
string CcToolchainInfo.cpuTarget CPU toolchain C++. Dapat menampilkan
None
.
dynamic_runtime_lib
depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)Menampilkan file dari atribut `dynamic_runtime_lib` (sehingga dapat diteruskan ke tindakan menggunakan toolchain ini sebagai input). Pemanggil dapat memeriksa apakah feature_configuration mengaktifkan fitur `static_link_cpp_runtimes` (jika tidak, `static_runtime_lib` atau `dynamic_runtime_lib` tidak perlu digunakan), dan menggunakan `static_runtime_lib` jika mode penautan statis aktif.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
wajib Konfigurasi fitur yang akan dikueri. |
gcov_executable
string CcToolchainInfo.gcov_executableJalur ke biner gcov.
ld_executable
string CcToolchainInfo.ld_executableJalur ke biner ld.
libc
string CcToolchainInfo.libcString versi libc. Dapat menampilkan
None
.
needs_pic_for_dynamic_libraries
bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)Menampilkan true (benar) jika kompilasi aturan ini harus menerapkan -fPIC, false (salah) jika tidak. Menentukan apakah kita harus menerapkan -fPIC untuk kompilasi C++ aturan ini, bergantung pada toolchain C++ dan keberadaan opsi Bazel `--force_pic`.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
wajib Konfigurasi fitur yang akan dikueri. |
nm_executable
string CcToolchainInfo.nm_executableJalur ke biner nm.
objcopy_executable
string CcToolchainInfo.objcopy_executableJalur ke biner objcopy.
objdump_executable
string CcToolchainInfo.objdump_executableJalur ke biner objdump.
preprocessor_executable
string CcToolchainInfo.preprocessor_executableJalur ke biner preprosesor.
static_runtime_lib
depset CcToolchainInfo.static_runtime_lib(feature_configuration)Menampilkan file dari atribut `static_runtime_lib` (sehingga dapat diteruskan ke tindakan menggunakan toolchain ini sebagai input). Pemanggil harus memeriksa apakah feature_configuration mengaktifkan fitur `static_link_cpp_runtimes` (jika tidak, `static_runtime_lib` atau `dynamic_runtime_lib` tidak boleh digunakan), dan menggunakan `dynamic_runtime_lib` jika mode penautan dinamis aktif.
Parameter
Parameter | Deskripsi |
---|---|
feature_configuration
|
wajib Konfigurasi fitur yang akan dikueri. |
strip_executable
string CcToolchainInfo.strip_executableJalur ke biner strip.
sysroot
string CcToolchainInfo.sysrootMenampilkan sysroot yang akan digunakan. Jika compiler toolchain tidak mendukung sysroot yang berbeda, atau sysroot sama dengan sysroot default, metode ini akan menampilkan
None
.
Dapat menampilkan None
.
target_gnu_system_name
string CcToolchainInfo.target_gnu_system_nameNama Sistem GNU. Dapat menampilkan
None
.
to_json
string CcToolchainInfo.to_json()Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Layanan ini dinonaktifkan dengan
---incompatible_struct_has_no_methods
. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusan yang akan segera terjadi. Membuat string JSON dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (rekursif) adalah string, int, boolean, struct lainnya, daftar jenis ini, atau kamus dengan kunci string dan nilai jenis ini. Tanda petik dan baris baru dalam string akan di-escape. Contoh:
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"}}}.
Tidak digunakan lagi: sebagai gantinya, gunakan json.encode(x) atau json.encode_indent(x), yang berfungsi untuk nilai selain struct dan tidak mencemari namespace kolom struct.
to_proto
string CcToolchainInfo.to_proto()Tidak digunakan lagi. API ini tidak digunakan lagi dan akan segera dihapus. Jangan bergantung pada hal ini. Fitur ini dinonaktifkan dengan
---incompatible_struct_has_no_methods
. Gunakan tanda ini untuk memverifikasi bahwa kode Anda kompatibel dengan penghapusannya yang akan segera dilakukan. Membuat pesan teks dari parameter struct. Metode ini hanya berfungsi jika semua elemen struct (secara rekursif) adalah string, int, boolean, struct atau dict lain, atau daftar dari jenis ini. Tanda petik dan baris baru dalam string akan di-escape. Kunci struktur diiterasi dalam urutan yang diurutkan. Contoh:
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 # }
Tidak digunakan lagi: sebagai gantinya, gunakan proto.encode_text(x).