โมดูลไบนารี

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