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