Thông tin về trình biên dịch C++ đang được sử dụng.
Hội viên
- all_files
- ar_executable
- built_in_include_directories
- trình biên dịch
- 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_filesTrả về tất cả các tệp chuỗi công cụ (để các tệp này có thể được truyền đến các hành động bằng cách sử dụng chuỗi công cụ này làm dữ liệu đầu vào).
ar_executable
string CcToolchainInfo.ar_executableĐường dẫn đến tệp nhị phân ar.
built_in_include_directories
list CcToolchainInfo.built_in_include_directoriesTrả về danh sách các thư mục tích hợp của trình biên dịch.
trình biên dịch
string CcToolchainInfo.compilerTrình biên dịch C++. Có thể trả về
None
.
compiler_executable
string CcToolchainInfo.compiler_executableĐường dẫn đến tệp nhị phân của trình biên dịch.
cpu
string CcToolchainInfo.cpuCPU mục tiêu của chuỗi công cụ C++. Có thể trả về
None
.
dynamic_runtime_lib
depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)Trả về các tệp từ thuộc tính "dynamic_runtime_lib" (để có thể truyền các tệp đó đến các thao tác bằng chuỗi công cụ này làm dữ liệu đầu vào). Phương thức gọi có thể kiểm tra xem Feature_configuration có bật tính năng "static_link_cpp_runtimes" hay không (nếu không, thì bạn không cần sử dụng "static_runtime_lib" cũng như "dynamic_runtime_lib") và sử dụng "static_runtime_lib" nếu chế độ liên kết tĩnh đang hoạt động.
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
gcov_executable
string CcToolchainInfo.gcov_executableĐường dẫn đến tệp nhị phân gcov.
ld_executable
string CcToolchainInfo.ld_executableĐường dẫn đến tệp nhị phân ld.
libc
string CcToolchainInfo.libcChuỗi phiên bản libc. Có thể trả về
None
.
needs_pic_for_dynamic_libraries
bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)Trả về true nếu hoạt động biên dịch của quy tắc này áp dụng -fPIC, nếu không áp dụng false. Xác định xem chúng ta có nên áp dụng -fPIC cho các bản biên dịch C++ của quy tắc này hay không, tuỳ thuộc vào chuỗi công cụ C++ và sự hiện diện của tuỳ chọn Bazel `--force_pic`.
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
nm_executable
string CcToolchainInfo.nm_executableĐường dẫn đến tệp nhị phân nm.
objcopy_executable
string CcToolchainInfo.objcopy_executableĐường dẫn đến tệp nhị phân objcopy.
objdump_executable
string CcToolchainInfo.objdump_executableĐường dẫn đến tệp nhị phân objdump.
preprocessor_executable
string CcToolchainInfo.preprocessor_executableĐường dẫn đến tệp nhị phân của bộ xử lý trước.
static_runtime_lib
depset CcToolchainInfo.static_runtime_lib(feature_configuration)Trả về các tệp từ thuộc tính `static_runtime_lib` (để có thể truyền các tệp này đến các hành động bằng cách sử dụng chuỗi công cụ này làm dữ liệu đầu vào). Phương thức gọi phải kiểm tra xem feature_configuration có bật tính năng `static_link_cpp_runtimes` hay không (nếu không, bạn không nên sử dụng `static_runtime_lib` hoặc `dynamic_runtime_lib`) và sử dụng `dynamic_runtime_lib` nếu chế độ liên kết động đang hoạt động.
Thông số
Thông số | Mô tả |
---|---|
feature_configuration
|
bắt buộc Cấu hình tính năng cần truy vấn. |
strip_executable
string CcToolchainInfo.strip_executableĐường dẫn đến tệp nhị phân của dải.
sysroot
string CcToolchainInfo.sysrootTrả về sysroot sẽ được sử dụng. Nếu trình biên dịch chuỗi công cụ không hỗ trợ nhiều sysroot hoặc sysroot giống với sysroot mặc định, thì phương thức này sẽ trả về
None
.
Có thể trả về None
.
target_gnu_system_name
string CcToolchainInfo.target_gnu_system_nameTên hệ thống GNU. Có thể trả về
None
.
to_json
string CcToolchainInfo.to_json()Không dùng nữa. API này không được dùng nữa và sẽ sớm bị xoá. Vui lòng đừng phụ thuộc vào tính năng này. Tính năng này đã bị tắt với
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với yêu cầu sắp xoá. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc khác, danh sách các loại này hoặc từ điển có khoá và giá trị chuỗi của các loại này. Các dấu ngoặc kép và các dòng mới trong chuỗi là ký tự thoát. Ví dụ:
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"}}}.
Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Tệp này phù hợp với các giá trị không phải cấu trúc và không gây ô nhiễm không gian tên của trường cấu trúc.
to_proto
string CcToolchainInfo.to_proto()Không dùng nữa. API này không được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với yêu cầu sắp xoá. Tạo tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc hoặc từ điển hoặc danh sách của các loại này. Các dấu ngoặc kép và các dòng mới trong chuỗi là ký tự thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
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 # }
Không dùng nữa: hãy sử dụng proto.encode_text(x).