يمكن إنتاج برامج ثنائية 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
. لا يمكن إنتاج الملفات التنفيذية الثابتة بالكامل إلا الأهداف الحيوية. بالنسبة إلى الأهداف غير الحيوية، يعني ذلك أنprefer_rlib
فقط. هوtrue
، ولكنه لا يزال يربطlibc
وlibdl
ديناميكيًا. - prefer_rlib: لتغيير ربط
rustlibs
لاختيار ربطrlib
. تلقائيًا لاستهدافات الأجهزة ولإدراجlibstd
في شكلrlib
على الجهاز الأهداف. تجدر الإشارة إلى أنّ هذا هو السلوك التلقائي للأهداف المضيفة، لا يؤثر فيهم.
الارتباط
بشكل تلقائي، يتم دائمًا ربط وحدات rust_binary
التي تستهدف الأجهزة.
ديناميكيًا مقابل libstd
وسيتم تلقائيًا اختيار dylib
مكتبات
التبعيات المدرجة في rustlibs
ما لم يكن prefer_rlib
هو true
. إذا كانت كاملة
البرامج الثنائية الثابتة مطلوبة، راجِع السمة static_executable
.
دائمًا ما يتم ربط وحدات المضيف بشكلٍ ثابت مقابل libstd
و
بشكل افتراضي أفضل مكتبات rlib
للتبعيات المدرجة في
rustlibs