Tempo de compilação versus tempo de execução
Veja o que Zig consegue avaliar antes de executar.
Tempo de compilação versus tempo de execução é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 1 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 Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.
Dois momentos em um programa
O código de Zig vive em dois mundos: coisas que acontecem enquanto você compila e coisas que acontecem enquanto o programa é executado. Entender essa divisão libera o poder de Zig. ⏱️
O tempo de execução é o mais conhecido
O tempo de execução é tudo o que acontece quando seu binário compilado é executado: entrada do usuário, leituras de arquivos e valores que você não pode conhecer antecipadamente.
O tempo de compilação acontece antes
O tempo de compilação é o trabalho que o compilador de Zig realiza antes mesmo de existir um binário. Algumas expressões são totalmente avaliadas nesse momento.
Constantes geralmente são pré-calculadas
Uma expressão simples com valores conhecidos pode ser calculada durante a compilação. Zig a transforma em uma única constante no binário final.
const minutes = 60 * 24;comptime_int não tem largura fixa
Um literal inteiro simples começa como um comptime_int. Ele tem precisão arbitrária até ser associado a um tipo com tamanho definido, como i32.
const big = 1_000_000_000_000;A palavra-chave comptime
Coloque comptime antes de uma expressão para exigir que ela seja avaliada durante a compilação. Se isso não for possível, você receberá um erro.
comptime {
const x = 2 + 3;
}Valores do tempo de execução permanecem nele
Um valor lido da entrada só é conhecido quando o programa é executado. Você não pode pedir ao compilador que o avalie no tempo de compilação.
comptime pode executar lógica real
O tempo de compilação não serve apenas para matemática. Zig pode executar laços e chamar funções no tempo de compilação, desde que todas as entradas sejam conhecidas nesse momento.
const total = comptime sum(10);Por que transferir trabalho para o tempo de compilação
Calcular algo durante a compilação significa custo zero no tempo de execução. A resposta é incorporada ao binário, e o programa nunca precisa recalculá-la.
Uma linguagem para os dois momentos
A mesma sintaxe de Zig atende às duas fases. Não existe uma linguagem separada de macros: o código de compilação é apenas Zig comum executado antecipadamente.
Erros detectados antes do tempo de execução
Como Zig avalia antecipadamente o código conhecido, muitos problemas aparecem como erros de compilação. Você os corrige antes mesmo de o programa ser executado.
Verificação rápida
Você escreve uma constante igual a 7 vezes 24. Quando essa multiplicação é realizada?
Recapitulação
Zig divide o trabalho entre tempo de compilação e tempo de execução. Valores conhecidos podem ser calculados antecipadamente sem custo, enquanto os desconhecidos aguardam a execução. 🎯
Aprenda Zig com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Tempo de compilação versus tempo de execução” é grátis?
Sim — o texto completo de “Tempo de compilação versus tempo de execução” é 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 Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.
O que vou aprender em “Tempo de compilação versus tempo de execução”?
Veja o que Zig consegue avaliar antes de executar. Você pratica Zig Academy 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 Zig Academy?
Nenhuma experiência prévia é necessária. Zig Academy 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 1 de 4.
Quanto tempo leva a aula “Tempo de compilação versus tempo de execução”?
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 Zig Academy?
Sim. Cada aula de Zig Academy 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
- Tempo de compilação versus tempo de execução
- Parâmetros e valores comptime
- Tipos são valores comptime
- for inline e laços desenrolados