คุณสร้างไบนารี 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