โมดูลไบนารี

คุณสร้างไบนารี 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 สำหรับ Dependency ที่แสดงใน rustlibs