रस्ट बायनेरिज़ का उत्पादन rust_binary
मॉड्यूल प्रकार का उपयोग करके किया जा सकता है; उदाहरण के लिए:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
इसी तरह, आप केवल-होस्ट मॉड्यूल प्रदान करने के लिए rust_binary_host
का उपयोग कर सकते हैं।
उल्लेखनीय रस्ट_बाइनरी गुण
महत्वपूर्ण सामान्य गुणों के अलावा, निम्नलिखित गुण भी या तो महत्वपूर्ण हैं, या rust_binary
मॉड्यूल प्रकार के लिए विशिष्ट अद्वितीय व्यवहार प्रदर्शित करते हैं:
- static_executable : इस बाइनरी को एक स्थैतिक बाइनरी के रूप में बनाता है, और दर्शाता है कि
prefer_rlib
true
है। पूरी तरह से स्थिर निष्पादनयोग्य केवल बायोनिक लक्ष्यों के लिए ही तैयार किए जा सकते हैं। गैर-बायोनिक लक्ष्यों के लिए, इसका तात्पर्य केवल यह है किprefer_rlib
true
है, लेकिन यह अभी भीlibc
औरlibdl
गतिशील रूप से जोड़ता है। - Prefer_rlib : डिवाइस लक्ष्य के लिए डिफ़ॉल्ट रूप से
rlib
लिंकेज का चयन करने के लिएrustlibs
लिंकेज को बदलता है, और डिवाइस लक्ष्यों परlibstd
rlib
के रूप में लिंक करता है। ध्यान दें कि यह मेजबान लक्ष्यों के लिए डिफ़ॉल्ट व्यवहार है, और इसका उन पर कोई प्रभाव नहीं पड़ता है।
कड़ी
डिफ़ॉल्ट रूप से, rust_binary
मॉड्यूल जो उपकरणों को लक्षित कर रहे हैं, हमेशा libstd
विरुद्ध गतिशील रूप से जुड़े होते हैं और डिफ़ॉल्ट रूप से rustlibs
में सूचीबद्ध निर्भरताओं के लिए dylib
लाइब्रेरी को प्राथमिकता देंगे जब तक कि prefer_rlib
true
न हो। यदि पूरी तरह से स्थिर बायनेरिज़ की आवश्यकता है, तो static_executable
संपत्ति देखें।
होस्ट मॉड्यूल हमेशा libstd
के विरुद्ध स्थिर रूप से जुड़े होते हैं और डिफ़ॉल्ट रूप से rustlibs
में सूचीबद्ध निर्भरताओं के लिए rlib
लाइब्रेरी को प्राथमिकता देते हैं।