CcToolchainInfo

Laporkan masalah Lihat sumber Nightly · 7.4 . 7,3 · 7,2 · 7,1 · 7,0 · 6,5

Informasi tentang compiler C++ yang digunakan.

Anggota

all_files

depset CcToolchainInfo.all_files

Menampilkan semua file toolchain (sehingga dapat diteruskan ke tindakan menggunakan toolchain ini sebagai input).

ar_executable

string CcToolchainInfo.ar_executable

Jalur ke biner ar.

built_in_include_directories

list CcToolchainInfo.built_in_include_directories

Menampilkan daftar direktori bawaan compiler.

compiler

string CcToolchainInfo.compiler

Compiler C++. Dapat menampilkan None.

compiler_executable

string CcToolchainInfo.compiler_executable

Jalur ke biner compiler.

cpu

string CcToolchainInfo.cpu

Target 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_executable

Jalur ke biner gcov.

ld_executable

string CcToolchainInfo.ld_executable

Jalur ke biner ld.

libc

string CcToolchainInfo.libc

String 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_executable

Jalur ke biner nm.

objcopy_executable

string CcToolchainInfo.objcopy_executable

Jalur ke biner objcopy.

objdump_executable

string CcToolchainInfo.objdump_executable

Jalur ke biner objdump.

preprocessor_executable

string CcToolchainInfo.preprocessor_executable

Jalur 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_executable

Jalur ke biner strip.

sysroot

string CcToolchainInfo.sysroot

Menampilkan 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_name

Nama 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).