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