يمكن إنشاء الملفات الثنائية بلغة Rust باستخدام نوع الوحدة rust_binary، على سبيل المثال:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
وبالمثل، يمكنك استخدام rust_binary_host لتوفير وحدة مخصّصة للمضيف فقط.
سمات `rust_binary` البارزة
بالإضافة إلى السمات الشائعة المهمة،
تتسم السمات التالية أيضًا بأهميتها أو بسلوكها الفريد
الخاص بنوع الو2/} الوحدة:rust_binary
- static_executable: ينشئ هذا الملف الثنائي كملف ثنائي ثابت، ما يعني أنّ
prefer_rlibهيtrue. لا يمكن إنشاء الملفات التنفيذية الثابتة بالكامل إلا للأهداف الثنائية. بالنسبة إلى الأهداف غير الثنائية، يعني ذلك فقط أنّprefer_rlibهيtrue، ولكنها لا تزال تربطlibcوlibdlبشكل ديناميكي. - prefer_rlib: يغيّر ربط
rustlibsلاختيار ربطrlibتلقائيًا لأهداف الجهاز، ويربطlibstdكـrlibعلى أهداف الجهاز. يُرجى العِلم أنّ هذا هو السلوك التلقائي لأهداف المضيف، وليس له أي تأثير عليها.
الارتباط
تكون وحدات rust_binary التي تستهدف الأجهزة مرتبطة دائمًا بشكل ديناميكي بـ libstd تلقائيًا، وستفضّل مكتبات dylib للتبعيات المدرَجة في rustlibs ما لم تكن prefer_rlib هي true. إذا كانت الملفات الثنائية الثابتة بالكامل مطلوبة، يُرجى الاطّلاع على السمة static_executable.
ترتبط وحدات المضيف دائمًا بشكل ثابت بـ libstd تلقائيًا، وتفضّل مكتبات rlib للتبعيات المدرَجة في rustlibs.