โมดูลไบนารี

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