0Pricing
Learn Rust Coding · Aula

Recursos e perfis

Compilação condicional

Recursos e perfis é uma aula grátis de Learn Rust Coding no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn Rust Coding, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn Rust Coding inclui 4 aulas no total.

O Que São Recursos?

Recursos permitem ativar ou desativar partes opcionais de um pacote no momento da compilação. Eles tornam os pacotes flexíveis: quem os chama paga apenas pelo que usa.

Declarando Recursos

Defina os recursos na tabela [features]. Cada recurso pode ativar outros recursos ou dependências opcionais.

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

Compilação Condicional

Proteja o código com o atributo cfg para que ele seja compilado somente quando um recurso estiver ativado.

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

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

Ativando Recursos

Quem chama o pacote ativa os recursos na declaração da dependência ou na linha de comando.

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

Recursos Padrão

O recurso default é ativado automaticamente. Desative-o com default-features = false para optar por uma compilação mínima.

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

Recursos na CLI

Você também pode alternar recursos por comando sem editar o manifesto.

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

O Que São Perfis?

Perfis controlam configurações do compilador, como o nível de otimização e as informações de depuração. Os dois perfis integrados são dev (depuração) e release.

O Perfil dev

O perfil dev é usado por cargo build. Ele prioriza uma compilação rápida e a facilidade de depuração em vez da velocidade em tempo de execução.

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

O Perfil release

O perfil release (usado com --release) ativa otimizações para gerar binários rápidos.

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

Ajustando um Perfil

Você pode ajustar qualquer perfil. Por exemplo, ative um pouco de otimização nas compilações de desenvolvimento para obter uma execução mais rápida, mantendo compilações rápidas para as dependências.

[profile.dev]
opt-level = 1

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

Dependências Opcionais como Recursos

Uma dependência opcional cria implicitamente um recurso com o mesmo nome. Ativar o recurso inclui a dependência, de modo que os usuários só optam por pacotes mais pesados quando necessário.

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

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

Verificação Rápida

Qual atributo compila um bloco de código somente quando um recurso está ativado?

Recapitulação

Você aprendeu as ferramentas de compilação condicional:

  • [features] declara funcionalidades opcionais
  • #[cfg(feature = ...)] condiciona o código de acordo com o recurso
  • default-features = false permite optar por compilações mínimas
  • Perfis como dev e release controlam as configurações de otimização e depuração

Perguntas Frequentes

A aula “Recursos e perfis” é grátis?

Sim — o texto completo de “Recursos e perfis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn Rust Coding, atualize para CoddyKit PRO. O curso de Learn Rust Coding inclui 4 aulas no total.

O que vou aprender em “Recursos e perfis”?

Compilação condicional Você pratica Learn Rust Coding com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn Rust Coding?

Nenhuma experiência prévia é necessária. Learn Rust Coding no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Recursos e perfis”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn Rust Coding?

Sim. Cada aula de Learn Rust Coding inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos do Cargo
  2. Cargo.toml
  3. Espaços de trabalho
  4. Recursos e perfis
← Voltar para Learn Rust Coding