Mô-đun nhị phân

Bạn có thể tạo tệp nhị phân Rust bằng cách sử dụng loại mô-đun rust_binary; ví dụ:

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

Tương tự, bạn có thể dùng rust_binary_host để cung cấp một mô-đun chỉ dành cho máy chủ lưu trữ.

Các thuộc tính đáng chú ý của rust_binary

Ngoài Các thuộc tính chung quan trọng, các thuộc tính sau cũng quan trọng hoặc có hành vi riêng biệt dành riêng cho loại mô-đun rust_binary:

  • static_executable: Tạo tệp nhị phân này dưới dạng tệp nhị phân tĩnh và ngụ ý prefer_rlibtrue. Bạn chỉ có thể tạo các tệp thực thi hoàn toàn tĩnh cho các mục tiêu bionic. Đối với các mục tiêu không phải mục tiêu sinh học, điều này chỉ ngụ ý rằng prefer_rlibtrue, nhưng vẫn liên kết libclibdl một cách linh hoạt.
  • prefer_rlib: Thay đổi mối liên kết rustlibs để chọn mối liên kết rlib theo mặc định cho các mục tiêu thiết bị và liên kết libstd dưới dạng rlib trên các mục tiêu thiết bị. Xin lưu ý rằng đây là hành vi mặc định đối với các mục tiêu máy chủ lưu trữ và không ảnh hưởng đến các mục tiêu đó.

Mối liên kết

Theo mặc định, các mô-đun rust_binary nhắm đến thiết bị luôn được liên kết linh động với libstd và theo mặc định sẽ ưu tiên các thư viện dylib cho các phần phụ thuộc được liệt kê trong rustlibs trừ phi prefer_rlibtrue. Nếu bạn cần các tệp nhị phân tĩnh hoàn toàn, hãy xem thuộc tính static_executable.

Các mô-đun lưu trữ luôn được liên kết tĩnh với libstd và theo mặc định, ưu tiên các thư viện rlib cho các phần phụ thuộc được liệt kê trong rustlibs.