מודולים בינאריים

אפשר ליצור קבצים בינאריים של 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. במטרות שאינן 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.