प्रतिलिपि टूल जानकारी

किसी समस्या की शिकायत करें सोर्स देखें रात · 7.4 को अपनाएं. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

इस्तेमाल किए जा रहे C++ कंपाइलर के बारे में जानकारी.

सदस्य

all_files

depset CcToolchainInfo.all_files

सभी टूलचेन फ़ाइलें दिखाता है, ताकि इनका इस्तेमाल इनपुट के तौर पर टूलचेन की मदद से, कार्रवाइयों में किया जा सके.

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

कंपाइलर बाइनरी का पाथ.

सीपीयू

string CcToolchainInfo.cpu

C++ टूलचेन का टारगेट सीपीयू. 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_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 लागू होना चाहिए, तो यह फ़ंक्शन 'सही' दिखाता है. ऐसा न होने पर, यह 'गलत' दिखाता है. इससे यह तय होता है कि हमें इस नियम के C++ कंपाइलेशन के लिए -fPIC लागू करना चाहिए या नहीं. यह 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

स्ट्रिप बाइनरी का पाथ.

sysroot

string CcToolchainInfo.sysroot

इस्तेमाल किया जाने वाला sysroot दिखाता है. अगर टूलचेन कंपाइलर अलग-अलग सिस्टम के साथ काम नहीं करता है या सिस्टम डिफ़ॉल्ट सिस्टम के तौर पर काम करता है, तो यह तरीका None दिखाता है. None को वापस किया जा सकता है.

target_gnu_system_name

string CcToolchainInfo.target_gnu_system_name

GNU सिस्टम का नाम. None को वापस किया जा सकता है.

to_json

string CcToolchainInfo.to_json()

अब काम नहीं करता. इस एपीआई के इस्तेमाल पर रोक लगा दी गई है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. ---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()

अब काम नहीं करता. इस एपीआई के इस्तेमाल पर रोक लगा दी गई है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर भरोसा न करें. ---incompatible_struct_has_no_methods के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है.
स्ट्रक्ट पैरामीटर से टेक्स्ट मैसेज बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, दूसरे स्ट्रक्चर या dicts या इस तरह की सूचियां हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. स्ट्रक्ट कुंजियों को क्रम से लगाया जाता है. उदाहरण:
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) का इस्तेमाल करें.