0Pricing
Learn Rust Coding · Lección

Features y perfiles

Compilación condicional

Features y perfiles es una lección gratuita de Learn Rust Coding en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn Rust Coding, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn Rust Coding incluye 4 lecciones en total.

¿Qué son las features?

Las features permiten activar o desactivar partes opcionales de un crate durante la compilación. Hacen que los crates sean flexibles: quienes los usan solo pagan por lo que necesitan.

Declarar features

Defina las features en la tabla [features]. Cada feature puede activar otras features o dependencias opcionales.

[features]
default = ["json"]
json = []
fast_math = []

Compilación condicional

Proteja el código con el atributo cfg para que solo se compile cuando una feature esté activada.

#[cfg(feature = "json")]
fn export() {
    println!("Exporting as JSON");
}

fn main() {
    #[cfg(feature = "json")]
    export();
}

Activar features

Quienes usan el crate activan las features en la declaración de la dependencia o en la línea de comandos.

[dependencies]
my_lib = { version = "1.0", features = ["fast_math"] }

Features predeterminadas

La feature default se activa automáticamente. Desactívela con default-features = false para optar por una compilación mínima.

[dependencies]
my_lib = { version = "1.0", default-features = false }

Features en la CLI

También puede activar o desactivar features para cada comando sin editar el manifiesto.

cargo build --features fast_math
cargo run --no-default-features
cargo test --all-features

¿Qué son los perfiles?

Los profiles controlan ajustes del compilador, como el nivel de optimización y la información de depuración. Los dos perfiles integrados son dev (depuración) y release.

El perfil dev

El perfil dev se usa con cargo build. Prioriza la compilación rápida y la facilidad de depuración sobre la velocidad de ejecución.

[profile.dev]
opt-level = 0
debug = true

El perfil release

El perfil release (que se usa con --release) activa las optimizaciones para generar binarios rápidos.

[profile.release]
opt-level = 3
lto = true
strip = true

Ajustar un perfil

Puede ajustar cualquier perfil. Por ejemplo, puede activar un poco de optimización en las compilaciones de desarrollo para acelerar la ejecución y mantener compilaciones rápidas para las dependencias.

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

Dependencias opcionales como features

Una dependencia opcional crea implícitamente una feature con el mismo nombre. Activar la feature incorpora la dependencia, de modo que los usuarios solo optan por crates más pesados cuando los necesitan.

[dependencies]
serde = { version = "1.0", optional = true }

[features]
serialize = ["dep:serde"]

Comprobación rápida

¿Qué atributo compila un bloque de código únicamente cuando una feature está activada?

Recapitulación

Ha aprendido las herramientas de compilación condicional:

  • [features] declara funcionalidades opcionales
  • #[cfg(feature = ...)] condiciona el código según una feature
  • default-features = false permite optar por compilaciones mínimas
  • Los perfiles como dev y release controlan la optimización y los ajustes de depuración

Preguntas frecuentes

¿La lección «Features y perfiles» es gratis?

Sí — el texto completo de «Features y perfiles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn Rust Coding, actualiza a CoddyKit PRO. El curso de Learn Rust Coding incluye 4 lecciones en total.

¿Qué aprenderé en «Features y perfiles»?

Compilación condicional Practicas Learn Rust Coding con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn Rust Coding?

No se requiere experiencia previa. Learn Rust Coding en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Features y perfiles»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn Rust Coding?

Sí. Cada lección de Learn Rust Coding incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de Cargo
  2. Cargo.toml
  3. Workspaces
  4. Features y perfiles
← Volver a Learn Rust Coding