×
Loading ...

A diferença entre o tempo de execução e o tempo de compilação

A forma como um programa de computador funciona é um mistério para o usuário típico que confia no trabalho dos programadores. O programador deve entender a forma como o computador espera receber os comandos nas duas etapas de execução (tempo de compilação e tempo de execução), além de outros conceitos.

Os programas de computador se executam em duas etapas diferentes (Ablestock.com/AbleStock.com/Getty Images)

Tempo de compilação

A primeira etapa da execução de um programa, o tempo de compilação, envolve a tradução da linguagem entendível pelos seres humanos, ou "código fonte", a uma linguagem que o computador entende, ou "código de máquina". O código fonte contém palavras que você reconhece, números em formato decimal e estruturas organizadas que facilitam a compreensão do fluxo de instruções. A etapa de tempo de compilação é completada quando o novo programa é um arquivo executável.

Loading...
O tempo de compilação traduz o código em linguagem humana para a linguagem de máquina (Thinkstock/Comstock/Getty Images)

Tempo de execução

O computador usa as instruções produzidas em tempo de compilação para executar o programa. Durante o tempo de execução, o computador lê a tradução do código fonte para realizar as tarefas incorporadas pelo programador. Toda vez que alguém executa o programa, o faz em tempo de execução.

O tempo de execução é o momento em que o computador executa o programa (Jupiterimages/Photos.com/Getty Images)

Diferença

O tempo de compilação é atravessado apenas uma vez para traduzir o código fonte para um arquivo executável, que pode ser chamado pela quantidade de vezes necessária sem voltar a compilar, a menos que o programa necessite de alterações. A maioria dos usuários só utiliza o tempo de execução.

O tempo de execução e o de compilação são duas etapas diferentes do processamento (Jupiterimages/Photos.com/Getty Images)

Erros em tempo de compilação

Podem acontecer erros durante ambas as etapas da execução de um programa. Os erros em tempo de compilação, ou erros de sintaxe, existem no código fonte. Exemplos deles são comandos mal digitados, problemas na ordem das operações, combinações incompatíveis de tipos de variáveis e omissões de elementos necessários. Um programador pode detectar erros em tempo de compilação facilmente, porque são sintáticos em vez de lógicos. O compilador geralmente localiza um erro em tempo de compilação e explica ou dá dicas para solucioná-lo. Se o compilador produzir um arquivo executável a partir do código, o programa não tem erros em tempo de compilação.

Os erros em tempo de compilação acontecem antes de o seu programa se tornar executável (Comstock/Comstock/Getty Images)

Erros catastróficos em tempo de execução

Os erros em tempo de execução podem fazer com que um programa falhe e termine de maneira antecipada. Exemplos de erros desse tipo são acesso a memória restringida e divisão por zero. A declaração "x/y" é correta sintaticamente, mas se "y" contiver o valor 0 em tempo de execução, o programa falhará. Um programador pode achar difícil encontrar erros em tempo de execução devido ao fato de que estes normalmente acontecem sob certas condições.

Os erros em tempo de execução podem fazer com que seu programa falhe (Stockbyte/Stockbyte/Getty Images)

Erros lógicos em tempo de execução

Um erro lógico não faz com que o programa falhe, mas o faz funcionar de uma forma não desejada pelo programador. Considere um programa com um menu de opções que espera que o usuário digite o número da opção desejada. Se o usuário digitar uma letra, o programa, esperando um número, pode transformá-lo em um valor numérico e enviar o usuário para uma das opções, parecendo que nada está errado em vez de informar que o usuário digitou uma opção inválida.

Os erros em tempo de execução podem causar comportamentos indesejáveis (Comstock/Comstock/Getty Images)
Loading...

Referências

Recursos

Loading ...
Loading ...