बाइनरी मॉड्यूल

रस्ट बायनेरिज़ का उत्पादन 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 लाइब्रेरी को प्राथमिकता देते हैं।