您可以使用 rust_binary
模块类型生成 Rust 二进制文件;例如:
rust_binary {
name: "hello_rust",
srcs: ["src/hello_rust.rs"],
}
同样,您也可以使用 rust_binary_host
提供主机专用模块。
值得注意的 rust_binary 属性
除了重要的通用属性之外,以下属性也很重要,或者具有特定于 rust_binary
模块类型的独有行为:
- static_executable:将此二进制文件构建为静态二进制文件,并且表示
prefer_rlib
为true
。只能为 Bionic 目标生成完全静态的可执行文件。对于非 Bionic 目标,这仅意味着prefer_rlib
为true
,但仍动态关联libc
和libdl
。 - prefer_rlib:将
rustlibs
关联更改为在默认情况下为设备目标选择rlib
关联,并关联libstd
作为设备目标上的rlib
。请注意,这是主机目标的默认行为,并且对主机目标没有影响。
关联
默认情况下,以设备为目标的 rust_binary
模块始终动态关联到 libstd
,并默认为 rustlibs
中列出的依赖项优先使用 dylib
库,除非 prefer_rlib
为 true
。如果需要完全静态的二进制文件,请参阅 static_executable
属性。
主机模块始终静态关联到 libstd
,并默认 rustlibs
中列出的依赖项优先使用 rlib
库。