ข้อมูลเกี่ยวกับคอมไพเลอร์ 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แสดงไฟล์ Toolchain ทั้งหมด (เพื่อให้ส่งผ่านไปยังการทำงานโดยใช้ Toolchain นี้เป็นอินพุตได้)
ar_executable
string CcToolchainInfo.ar_executableเส้นทางไปยังไบนารี ar
built_in_include_directories
list CcToolchainInfo.built_in_include_directoriesแสดงรายการไดเรกทอรีในตัวของคอมไพเลอร์
คอมไพเลอร์
string CcToolchainInfo.compilerคอมไพเลอร์ C++ อาจส่งคืน
None
compiler_executable
string CcToolchainInfo.compiler_executableเส้นทางไปยังไฟล์ไบนารีของคอมไพเลอร์
cpu
string CcToolchainInfo.cpuCPU เป้าหมายของเครื่องมือเชน C++ อาจส่งคืน
None
dynamic_runtime_lib
depset CcToolchainInfo.dynamic_runtime_lib(feature_configuration)แสดงผลไฟล์จากแอตทริบิวต์ "dynamic_runtime_lib" (เพื่อให้ระบบส่งไฟล์ไปยังการดำเนินการโดยใช้ Toolchain นี้เป็นอินพุตได้) ผู้โทรจะตรวจสอบได้ว่า feature_configuration จะเปิดใช้ฟีเจอร์ "static_link_cpp_runtimes" หรือไม่ (หากไม่ได้ ก็ไม่ต้องใช้ "static_runtime_lib" และ "dynamic_runtime_lib") และใช้ "static_runtime_lib" หากโหมดการลิงก์แบบคงที่ทำงานอยู่
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
feature_configuration
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
gcov_executable
string CcToolchainInfo.gcov_executableเส้นทางไปยังไฟล์ปฏิบัติการ gcov
ld_executable
string CcToolchainInfo.ld_executableเส้นทางไปยังไฟล์ปฏิบัติการ ld
libc
string CcToolchainInfo.libcสตริงเวอร์ชัน libc อาจส่งคืน
None
needs_pic_for_dynamic_libraries
bool CcToolchainInfo.needs_pic_for_dynamic_libraries(feature_configuration)แสดงผลเป็น "จริง" หากการคอมไพล์ของกฎนี้ควรใช้ -fPIC หรือแสดงผลเป็น "เท็จ" หากไม่ใช่ กำหนดว่าควรใช้ -fPIC สำหรับการคอมไพล์ C++ ของกฎนี้หรือไม่ โดยขึ้นอยู่กับเครื่องมือ C++ และตัวเลือก `--force_pic` ของ Bazel
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
feature_configuration
|
ต้องระบุ การกำหนดค่าฟีเจอร์ที่จะค้นหา |
nm_executable
string CcToolchainInfo.nm_executableเส้นทางไปยังไบนารี nm
objcopy_executable
string CcToolchainInfo.objcopy_executableเส้นทางไปยังไบนารี objcopy
objdump_executable
string CcToolchainInfo.objdump_executableเส้นทางไปยังไบนารี objdump
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เส้นทางไปยังไฟล์ไบนารีของ Strip
sysroot
string CcToolchainInfo.sysrootแสดงผล sysroot ที่จะใช้งาน หากคอมไพเลอร์ Toolchain ของ ไม่รองรับ Sysroot ที่ต่างกันหรือ Sysroot เหมือนกันกับ Syroot เริ่มต้น เมธอดนี้จะแสดง
None
อาจแสดงผล None
target_gnu_system_name
string CcToolchainInfo.target_gnu_system_nameชื่อระบบ GNU อาจแสดงผล
None
to_json
string CcToolchainInfo.to_json()เลิกใช้งาน เลิกใช้งาน API นี้แล้ว และจะนำออกเร็วๆ นี้ โปรดอย่าใช้ข้อมูลนี้ ถูกปิดใช้ด้วย
---incompatible_struct_has_no_methods
ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำโค้ดที่กำลังจะเกิดขึ้นในเร็วๆ นี้ สร้างสตริง JSON จากพารามิเตอร์ Struct วิธีนี้ใช้ได้เฉพาะในกรณีที่องค์ประกอบ Struct ทั้งหมด (แบบเรียกซ้ำ) เป็นสตริง int บูลีน Struct อื่นๆ รายการประเภทเหล่านี้ หรือพจนานุกรมที่มีคีย์และค่าสตริงของประเภทเหล่านี้ ระบบจะหลีกหนีเครื่องหมายคำพูดและบรรทัดใหม่ในสตริง ตัวอย่าง:
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) แทน ซึ่งใช้ได้กับค่าอื่นที่ไม่ใช่ Struct และไม่ทำให้เนมสเปซของช่อง Struct เสียไป
to_proto
string CcToolchainInfo.to_proto()เลิกใช้งาน เลิกใช้งาน API นี้แล้ว และจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย
---incompatible_struct_has_no_methods
ใช้ Flag นี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนําออกที่กําลังจะเกิดขึ้น สร้าง SMS จากพารามิเตอร์ Struct วิธีการนี้ใช้ได้ก็ต่อเมื่อองค์ประกอบ Struct ทั้งหมด (แบบเรียกซ้ำ) เป็นสตริง, int, บูลีน, 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) แทน