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

Бинарные файлы Rust можно создавать с использованием типа rust_binary ; например:

rust_binary {
    name: "hello_rust",
    srcs: ["src/hello_rust.rs"],
}

Аналогичным образом вы можете использовать rust_binary_host для предоставления модуля только для хоста.

Примечательные свойства ржавчины_binary

В дополнение к важным общим свойствам следующие свойства также либо важны, либо демонстрируют уникальное поведение, специфичное для типа rust_binary :

  • static_executable : собирает этот двоичный файл как статический двоичный файл и подразумевает, что prefer_rlib имеет значение true . Полностью статические исполняемые файлы могут быть созданы только для бионических целей. Для небионических целей это означает только то, что prefer_rlib имеет true , но он по-прежнему динамически связывает libc и libdl .
  • предпочитаете_rlib : изменяет связь с rustlibs , чтобы выбрать связь с rlib по умолчанию для целевых устройств устройства, и связывает libstd как rlib с целевыми устройствами. Обратите внимание, что это поведение по умолчанию для целевых узлов хоста и не оказывает на них никакого влияния.

Связь

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

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