Execução de programas Cap. VIII
Introdução Todo o computador para realizar uma tarefa específica, precisa de ser instruído, passo a passo, para efetivamente realizá-la. Segue-se então um resumo das etapas que definem o processo de execução de um programa escrito em uma linguagem qualquer.
Linguagem de programação Criada pra instruir um computador a realizar suas tarefas; Um programa completo, escrito em uma linguagem de programação, é denominado código.(Ex.:codificar um algoritmo) Tipo mais primitivo de linguagem – linguagem de máquina. Ver tabela 8.1 pág 229
Montagem e Compilação Montagem – Tradução mais simples e rápida que existe. É realizada por um programa denominado montador (Assembler). Programa original em linguagem de montagem Código fonte montagem Montador Programa resultante em linguagem binária Código objeto
Compilação – método utilizado para se converter para linguagem de máquina um programa escrito em linguagem de mais alto nível que o de linguagem de montagem
em linguagem de alto nível Código fonte Open file_entrada Read A,B,C While not eof(file_entrda) do K=A+B-C Point A,B,C,X End while Close file_entrada Programa original em linguagem de alto nível compilação Programa compilador Programa resultante da compilação, relacionado em linguagem de máquina 0011 0000 0011 0011 0000 1100 1110 1111 1110 0000 0000 1000 Código objeto
Ligação ou linkedição É quando determinadas operações não são codificadas, já que o código binário necessário para realizar certas tarefas já existe armazenado no sistema. (Ex.: Comandos de entrada e saída) Rotinas externas ao programa são organizadas em arquivo, que constituem diretórios específicos para cada grupo de rotina. (Bibliotecas).
PROCESSO DE COMPILAÇÃO E LIGAÇÃO Programa original em linguagem de alto nível Código fonte compilação Programa compilador Código objeto Biblioteca A Biblioteca B ligação Ligador Biblioteca C Código executável
Interpretação Pelo método de interpretação, cada comando do código fonte é lido pelo interpretador, é convertido em código executável e imediatamente executado, antes que o comando seguinte seja lido.