Бинарные файлы Rust могут быть созданы с использованием типа модуля 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
preference_rlib не установлено значение true
. Если требуются полностью статические двоичные файлы, см. свойство static_executable
.
Хост-модули всегда статически связаны с libstd
и по умолчанию предпочитают библиотеки rlib
для зависимостей, перечисленных в rustlibs
.