ไบนารีของสนิมจะสร้างได้โดยใช้โมดูลประเภท 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