CodeBlanks Logo Icon CodeBlanks

Cargo ile proje

cargo new, Cargo.toml ve hedef klasör yapısıyla projeni kurmayı öğrenirsin.

Cargo ile proje

Cargo, Rust'ın derleme aracı ve paket yöneticisidir. Yeni proje oluşturur, bağımlılıkları indirir, derler, çalıştırır ve test eder:

cargo new merhaba     # yeni proje
cd merhaba
cargo run             # derle ve çalıştır
cargo build --release # optimize derleme
cargo test            # testleri çalıştır

cargo new bir Cargo.toml dosyası ve src/main.rs oluşturur.

Cargo.toml

Cargo.toml projenin kimliğini ve bağımlılıklarını tutar:

[package]
name = "merhaba"
version = "0.1.0"
edition = "2021"

[dependencies]
rand = "0.8"

Bağımlılıkların kesin sürümleri Cargo.lock dosyasına yazılır; böylece her makinede aynı sürümler kullanılır. Paketler crates.io'dan indirilir.

Uygulama Paket bilgisi

Cargo derleme sırasında paket adını ve sürümünü ortam değişkeni olarak verir. env!("CARGO_PKG_NAME") yerine sabit değerlerle dene: let ad = "merhaba"; let surum = "0.1.0"; tanımla ve println!("{} v{}", ad, surum); yazdır.

Başlangıç kodu

main.rs
fn main() {
    // buraya yaz
}

Örnek çözüm

main.rs
fn main() {
    let ad = "merhaba";
    let surum = "0.1.0";
    println!("{} v{}", ad, surum);
}

Beklenen çıktı

merhaba v0.1.0

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 <code>cargo build --release</code> ile <code>cargo build</code> farkı nedir?

  • --release optimize eder; çıktı target/release altına yazılır Doğru cevap
  • --release testleri çalıştırır
  • Fark yoktur
  • --release kodu yayımlar

Açıklama: Varsayılan derleme hızlı derlenir ama yavaş çalışır (target/debug); --release yavaş derlenir ama çok daha hızlı çalışır.

2 Çalıştır

Soru
cargo ____   # derler ve çalıştırır
Cevap
cargo run   # derler ve çalıştırır

Açıklama: cargo run projeyi derleyip ikiliyi hemen çalıştırır.

3 Komut ve görevi

Kavram Anlamı
cargo new Proje oluşturur
cargo run Derler ve çalıştırır
cargo test Testleri çalıştırır
Cargo.lock Kesin sürümler

Başlangıç bölümündeki tüm dersler

16 Proje: Yapılacaklar listesi

  1. Görev modeli
  2. Ekleme
  3. Listeleme
  4. İşaretleme
  5. Komut okuma