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