Saltar al contenido principal

Binarios

  • Permite tener varios programas independientes en un mismo proyecto
  • El proyecto principal se crea normalmente con cargo new <name>
  • Por defecto, el binario principal es src/main.rs
  • Los binarios adicionales se colocan en src/bin/, cada archivo .rs se convierte en un binario independiente
  • Cada binario debe tener su propia función main
  • Los binarios pueden usar el código de src/lib.rs importándolo como dependencia del mismo proyecto (reutilización de lógica)

Estructura

project_name/
├── Cargo.toml
├── src/
│ ├── main.rs # binario principal (opcional)
│ ├── lib.rs # biblioteca (opcional)
│ └── bin/
│ ├── script1.rs # binario adicional
│ ├── script2.rs # otro binario

Ejemplo

src/lib.rs
pub fn greet(name: &str) {
println!("Hello, {}", name);
}
src/bin/other.rs
use project_name::greet;

fn main() {
greet("John");
}

Compilar y ejecutar

# Listar binarios disponibles
cargo run --bin

# Compilar todos los binarios
cargo build [--release]

# Ejecutar un binario específico
cargo run --bin <bin-name>

# Compilar solo un binario
cargo build --release --bin <bin-name>