ไบนารีสนิมสามารถผลิตได้โดยใช้ประเภทโมดูล rust_binary
ตัวอย่างเช่น:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
ในทำนองเดียวกัน คุณสามารถใช้ rust_binary_host
เพื่อจัดเตรียมโมดูลสำหรับโฮสต์เท่านั้น
คุณสมบัติrust_binary ที่โดดเด่น
นอกเหนือจาก คุณสมบัติทั่วไปที่สำคัญแล้ว คุณสมบัติต่อไปนี้ก็มีความสำคัญเช่นกัน หรือแสดงลักษณะการทำงานเฉพาะสำหรับประเภทโมดูล rust_binary
โดยเฉพาะ:
- static_executable : สร้างไบนารีนี้เป็นไบนารีแบบคงที่ และบอกเป็นนัยว่า
prefer_rlib
เป็นtrue
สามารถดำเนินการปฏิบัติการแบบคงที่ทั้งหมดได้สำหรับเป้าหมายไบโอนิคเท่านั้น สำหรับเป้าหมายที่ไม่ใช่ไบโอนิค นี่บอกเป็นนัยว่าprefer_rlib
เป็นtrue
แต่ยังคงเชื่อมโยงlibc
และlibdl
แบบไดนามิก - Prefer_rlib : เปลี่ยนการเชื่อมโยง
rustlibs
เพื่อเลือกการเชื่อมโยงrlib
ตามค่าเริ่มต้นสำหรับเป้าหมายอุปกรณ์ และเชื่อมโยงlibstd
เป็นrlib
บนเป้าหมายอุปกรณ์ โปรดทราบว่านี่เป็นพฤติกรรมเริ่มต้นสำหรับเป้าหมายโฮสต์ และไม่มีผลกระทบต่อเป้าหมายเหล่านั้น
การเชื่อมโยง
ตามค่าเริ่มต้น โมดูล rust_binary
ที่เป็นเป้าหมายของอุปกรณ์จะถูกเชื่อมโยงแบบไดนามิกกับ libstd
เสมอ และตามค่าเริ่มต้นจะเลือกใช้ไลบรารี dylib
สำหรับการขึ้นต่อกันที่แสดงอยู่ใน rustlibs
เว้นแต่ว่า prefer_rlib
จะเป็น true
หากต้องการไบนารีแบบคงที่ทั้งหมด โปรดดูคุณสมบัติ static_executable
โมดูลโฮสต์จะเชื่อมโยงแบบคงที่กับ libstd
เสมอ และโดยค่าเริ่มต้นจะเลือกใช้ไลบรารี rlib
สำหรับการขึ้นต่อกันที่แสดงอยู่ใน rustlibs