Upload
lccimetro
View
114
Download
3
Embed Size (px)
Citation preview
Compilador – transforma o programa escrito
em linguagem de alto nível, num outro
programa, mas este último escrito em
linguagem máquina.
Este processo designa-se por compilação.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 2
Programa Fonte (source program) – trata-se do
programa original, escrito em linguagem de
alto nível.
Programa Objecto (object program) – trata-se
do programa obtido depois da compilação.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 3
Interpretador – atua no momento em que cada instrução é executada.
Objetivo:
transformar determinada instrução de alto nível no código máquina que o processador executa.
Desvantagem:
o processo da interpretação torna mais lenta a execução dos programas “interpretados”
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 4
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 5
Linguagem de
Alto Nível
Linguagem
Máquina
Compilador Interpretador
CPU
COMPILADOR INTERPRETADOR
Atua como tradutor
Transforma “texto”
escrito numa
linguagem, num outro
texto, escrito noutra
linguagem
Atua como intérprete
Traduz no momento
estabelecendo a
ponto entre dois
interlocutores
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 6
Para programas compilados, a compilação e a linkagem, são as fases necessárias para se obter um programa executável.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 7
Linkagem Compilação
Do codigo objecto resultante da
compilação, são adicionadas
rotinas complementares
(disponibilizadas pelo
compilador).
Destas rotinas produz-se o
programa executável
Transformação do código fonte
em código objeto
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 8
Código em Linguagem de Alto
Nível
Código Objecto
Compilador
Linkagem
Funções
Complementares
Programa Executável
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 9
No processo de Linkagem, vários módulos objecto podem ser
agregados para produzir um único programa executável
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 10
Código em Linguagem de Alto
Nível
Código Objecto
Compilador
Linkagem
Funções
Complementares
Programa Executável
Código em Linguagem de Alto
Nível
Código Objecto
Trata-se de um modelo de linkagem na qual
todas as rotinas que fazem parte do
programa são integradas no programa
executável e carregadas para a memória
quando o programa é executado.
Exemplo para os programas concebidos para
serem executados sob o Sistema Operativo
MS-DOS.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 11
Um aplicação pode ser constituída por um
programa executável e por vários ficheiros
contendo código executável.
Esses ficheiros apresentam-se com extensão
DLL (Dynamic Linking Libraries), sendo
carregados para a memória apenas quando
necessário.
Este tipo de processo é utilizado para o
ambiente Windows.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 12
O dinamismo na linkagem apenas ocorre
quando da chamada destas rotinas. A
linkagem trata-se de um processo eficaz que
permite que aplicações muito extensas
possam ser “repartidas” num núcleo
fundamental que integra o programa
executável em vários ficheiros de código
complementar que são carregados para a
memoria apenas quando necessário.
16-03-2014 Prof. Nobre - Programação e Linguagem Máquina 13