Binäre Module

Rust-Binärdateien können mit dem Modultyp rust_binary erstellt werden; Zum Beispiel:

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

Ebenso können Sie rust_binary_host verwenden, um ein reines Host-Modul bereitzustellen.

Bemerkenswerte rust_binary-Eigenschaften

Zusätzlich zu den wichtigen allgemeinen Eigenschaften sind auch die folgenden Eigenschaften entweder wichtig oder weisen ein einzigartiges Verhalten auf, das für den Modultyp rust_binary spezifisch ist:

  • static_executable : Erstellt diese Binärdatei als statische Binärdatei und impliziert, dass prefer_rlib true ist. Vollständig statische ausführbare Dateien können nur für bionische Ziele erstellt werden. Für nicht-bionische Ziele bedeutet dies nur, dass prefer_rlib true ist, libc und libdl jedoch weiterhin dynamisch verknüpft.
  • Prefer_rlib : Ändert die rustlibs Verknüpfung, um standardmäßig die rlib -Verknüpfung für Geräteziele auszuwählen, und verknüpft libstd als rlib auf Gerätezielen. Beachten Sie, dass dies das Standardverhalten für Hostziele ist und keine Auswirkungen auf diese hat.

Verknüpfung

Standardmäßig werden rust_binary Module, die auf Geräte abzielen, immer dynamisch mit libstd verknüpft und bevorzugen standardmäßig dylib -Bibliotheken für in rustlibs aufgeführte Abhängigkeiten, es sei denn, prefer_rlib ist true . Wenn vollständig statische Binärdateien erforderlich sind, sehen Sie sich die Eigenschaft static_executable an.

Hostmodule sind immer statisch mit libstd verknüpft und bevorzugen standardmäßig rlib Bibliotheken für Abhängigkeiten, die in rustlibs aufgeführt sind.