İkili modüller

Rust ikilileri, rust_binary modül türü kullanılarak oluşturulabilir. Örneğin:

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

Benzer şekilde, yalnızca ana makineye yönelik bir modül sağlamak için rust_binary_host öğesini kullanabilirsiniz.

Önemli rust_binary özellikleri

Önemli ortak özelliklere ek olarak, aşağıdaki özellikler de önemlidir veya rust_binary modül türüne özgü benzersiz davranışlar sergiler:

  • static_executable: Bu ikili programı statik ikili program olarak oluşturur ve prefer_rlib değerinin true olduğunu gösterir. Tamamen statik yürütülebilir dosyalar yalnızca bionic hedefleri için oluşturulabilir. Biyonik olmayan hedefler için bu, yalnızca prefer_rlib öğesinin true olduğu anlamına gelir ancak yine de libc ve libdl öğelerini dinamik olarak bağlar.
  • prefer_rlib: Cihaz hedefleri için varsayılan olarak rlib bağlantısını seçmek üzere rustlibs bağlantısını değiştirir ve libstd öğesini cihaz hedeflerinde rlib olarak bağlar. Bunun, ana makine hedefleri için varsayılan davranış olduğunu ve bu hedefleri etkilemediğini unutmayın.

Bağlantı

Cihazları hedefleyen rust_binary modülleri, varsayılan olarak her zaman libstd'ye karşı dinamik olarak bağlanır ve prefer_rlib, true olmadığı sürece rustlibs'de listelenen bağımlılıklar için varsayılan olarak dylib kitaplıklarını tercih eder. Tamamen statik ikili dosyalar gerekiyorsa static_executable özelliğine bakın.

Ana makine modülleri her zaman libstd'ya karşı statik olarak bağlanır ve varsayılan olarak rustlibs'da listelenen bağımlılıklar için rlib kitaplıklarını tercih eder.