📊 Capítulo 01: Toolchain Rust & Cargo
Especialização em Sistemas com Rust
🗺️ O Ecossistema e o Toolchain de Compilação do Rust
flowchart TD
RUSTUP["rustup (Gerenciador de Toolchains / Versões / Targets)"]
--> CARGO["Cargo (Build System, Gerenciador de Pacotes e Test Runner)"]
CARGO --> RUSTC["rustc (Compilador Rust / Validações do Borrow Checker)"]
RUSTC --> LLVM["LLVM Backend (Otimizações de Baixo Nível em Instruções de Máquina)"]
LLVM --> BIN["Binário Nativo ELF / Mach-O / PE (Zero Runtime / Zero Garbage Collector)"]
style RUSTUP fill:#ede7f6,stroke:#512da8,stroke-width:2px
style CARGO fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style RUSTC fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style LLVM fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style BIN fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
🎯 Slide 1: Os Pilares Fundamentais do Rust
-
Segurança de Memória sem Garbage Collector: Prevenção em tempo de compilação contra Null Pointers, Use-After-Free e Data Races.
-
Zero-Cost Abstractions: Abstrações de alto nível (iteradores, traits, generics) que compilam para o mesmo código de máquina assembly ultra-otimizado.
- Performance de C/C++: Controle direto sobre alocação de memória na Stack vs Heap.
🎯 Slide 2: Gerenciamento com Cargo (Cargo.toml)
[package]
name = "core_engine"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1.0", features = ["full"] }
- O
Cargo.lockgarante builds 100% reproduzíveis e determinísticos entre diferentes máquinas.
🎯 Slide 3: Comandos Essenciais do Desenvolvedor Rust
-
cargo check: Analisa sintaxe e regras de ownership em milissegundos sem gerar binário (ultra-rápido!). -
cargo build --release: Ativa otimizações agressivas do LLVM (-O3, LTO). -
cargo clippy: O linter canônico que audita anti-padrões e sugere melhorias idiomáticas. cargo test: Executa testes unitários, testes de integração e testes de documentação (Doc-tests).
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim