Zig Academy · Aula

Tempo de compilação versus tempo de execução

Veja o que Zig consegue avaliar antes de executar.

Aula 1 de 413 etapas

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. 🎯

Grátis para começar

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

  1. Tempo de compilação versus tempo de execução
  2. Parâmetros e valores comptime
  3. Tipos são valores comptime
  4. for inline e laços desenrolados
← Voltar para Zig Academy