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

Бинарные файлы 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 .