İkili modüller

Pas ikili programları, rust_binary modül türü kullanılarak üretilebilir. Örneğin:

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

Benzer şekilde, yalnızca ana makine modülü sağlamak için rust_binary_host kullanabilirsiniz.

Önemli rust_binary özellikleri

Yaygın olarak kullanılan önemli ö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 dosyayı statik ikili dosya olarak oluşturur ve prefer_rlib değerinin true olduğunu belirtir. Tamamen statik yürütülebilir dosyalar yalnızca biyonik hedefler için üretilebilir. Biyonik olmayan hedefler için bu, yalnızca prefer_rlib öğesinin true olduğu anlamına gelir, ancak libc ile libdl arasında dinamik olarak bağlantı kurmaya devam eder.
  • prefer_rlib: Cihaz hedefleri için varsayılan olarak rlib bağlantısını seçecek şekilde rustlibs bağlantısını değiştirir ve cihaz hedeflerinde libstd'i rlib olarak bağlar. Bu durumun, ana makine hedefleri için varsayılan davranış olduğunu ve bu hedefleri etkilemediğini unutmayın.

Bağlantı

Varsayılan olarak, cihazları hedefleyen rust_binary modüller libstd karşısında her zaman dinamik olarak bağlanır ve prefer_rlib true olmadığı sürece rustlibs içinde listelenen bağımlılıklar için dylib kitaplıkları tercih eder. Tamamen statik ikili programlar gerekiyorsa static_executable özelliğine bakın.

Barındırma modülleri her zaman libstd'e statik olarak bağlanır ve varsayılan olarak rustlibs'de listelenen bağımlılıklar için rlib kitaplıklarını tercih eder.