-
Compilador
É o programa que converte o programa feito pelo programador em linguagem de máquina.
O compilador traduz um programa escrito em uma linguagem de alto nível em um programa-objeto não executável; também chamado de módulo-objeto.
O editor de ligação (também chamado de linker ou de ligador) gera um programa executável a partir de um ou mais módulos-objetos para uma plataforma específica.
Também temos outro sujeito: interpretador. Ele é uma instância de hardware ou software que lê e executa diretamente as instruções apresentadas.
Durante uma execução, o interpretador lê cada instrução a partir de um programa-fonte escrito em linguagem de alto nível e executa-a imediatamente.
São exemplos de linguagens interpretadas: BASIC, Perl, PHP, Python, JavaScript, Lisp, Ruby, etc.
Fonte: http://www.itnerante.com.br/profiles/blogs/organiza-o-e-arquitetura-de-computadores-montadores-compiladores
-
a) Interpretador - Não gera código-objeto. Ele traduz cada instrução e executa diretamente.
b) Depurador - É um dos estágios do desenvolvimento. Permite acompanhar toda execução a fim de achar erros de lógica.
c) Loader - Carrega na RAM um programa a ser executado.
d) Linker - Gera, a partir de um ou mais módulos-objeto, um único programa executável.
e) Compilador - Tipo de tradutor que gera um módulo-objeto a partir de um programa escrito em linguagem de alto nível.
Gabarito E
Fonte: Arquitetura de SO - Maia - Cap 2
@papirobizurado
-
Interpretador – Processador que executa cada expressão do programa diretamente sem ter que transformar o programa inteiro em uma unidade de execução.Tradutor que não gera módulo-objeto chamado de módulo-objeto.
Depurador - permite ao usuário acompanhar toda a execução de um programa a fim de detectar erros na sua lógica.
Loader ou carregador - responsável por carregar na MP um programa para ser executado. Transfere o programa da memória secundária para a MP e inicia sua execução.
Linker - responsável por gerar um único programa executável.
-
Então, o código objeto somente é gerado pelo compilador. No caso, para ser executável, o código objeto (ou módulo objeto) precisa, ainda, ser linkado com um programa completo, certo?