الوحدات الثنائية

يمكن إنتاج ثنائيات الصدأ باستخدام نوع الوحدة النمطية 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 .