Бинарные модули

Двоичные файлы 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 .
  • preference_rlib : Изменяет связь rustlibs , чтобы выбрать связь rlib по умолчанию для целевых устройств, и связывает libstd как rlib на целевых устройствах. Обратите внимание, что это поведение по умолчанию для целевых устройств и не оказывает на них никакого влияния.

Связь

По умолчанию модули rust_binary , которые нацелены на устройства, всегда динамически связываются с libstd и по умолчанию будут предпочитать библиотеки dylib для зависимостей, перечисленных в rustlibs если только prefer_rlib не имеет true . Если требуются полностью статические двоичные файлы, см. свойство static_executable .

Модули хоста всегда статически связаны с libstd и по умолчанию предпочитают библиотеки rlib для зависимостей, перечисленных в rustlibs .