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_rlib
làtrue
. 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ằngprefer_rlib
làtrue
, nhưng vẫn liên kếtlibc
vàlibdl
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ếtrlib
theo mặc định cho các mục tiêu thiết bị và liên kếtlibstd
dưới dạngrlib
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_rlib
là true
. 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
.