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