A função de reunir procedimentos traduzidos em separado e j...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - ligador.
Para compreender a questão, é necessário ter conhecimento sobre as diferentes ferramentas e processos usados na programação para transformar código-fonte, escrito em linguagens de programação de alto nível, em um programa executável pelo computador. O processo geralmente envolve várias etapas, incluindo a compilação, a montagem e o link-editing (ligação).
A compilação é uma fase onde o código-fonte é convertido em código objeto, que ainda não é um programa executável porque pode conter referências a funções e bibliotecas externas que não foram resolvidas. Já a montagem (ou assembly) é a conversão de um código assembly em código de máquina (código objeto) específico para a arquitetura do processador.
A função do ligador (ou linker, em inglês) é exatamente a descrita na questão. Ele pega múltiplos arquivos de código objeto, que podem ter sido compilados separadamente, e junta-os em um único programa executável. Durante esse processo, o ligador resolve referências a variáveis, módulos e funções externas entre os diferentes arquivos de código objeto. Ele assegura que o código e os dados sejam alocados na memória de uma maneira que eles possam se referenciar corretamente, e que todas as chamadas a bibliotecas externas ou a outros módulos do programa sejam adequadamente conectadas.
As demais opções podem ser rapidamente descartadas: o codificador não é um termo comumente usado em programação nesse contexto; o interpretador é um programa que executa diretamente o código-fonte sem compilá-lo em código de máquina; o montador é responsável por converter o código assembly em código objeto, como já foi mencionado; e o compilador é a ferramenta que converte o código-fonte em código objeto, mas não realiza a ligação final para criar o executável.
Portanto, a letra B é a correta porque o ligador é a ferramenta que reúne os procedimentos (módulos de código objeto) traduzidos separadamente em um programa binário executável.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A = Lhufas
C = Transforma e Executa, Conversão e Execução na MESMA FASE. Mais perto da MÁQUINA (Baixo Nível), precisa ter acesso ao programa fonte durante a execução.
D = traduz uma versão simbólica de uma instrução para a versão binária. Uma ferramenta chamada montador traduz do ASSEMBLY para instruções binárias.
E = traduz um programa escrito em uma linguagem de alto nível (como C ou Pascal) para um programa equivalente em LINGUAGEM DE MÁQUINA (BINÁRIO) ou ASSEMBLY (SÍMBOLOS).
GABARITO B
- GERA ARQUIVO EXECUTÁVEL, liga objetos gerados por um compilador ou montador, recebe como entrada arquivos objetos e combina esses arquivos com outros gerando um único arquivo.
- Um programa utilitário que combina um ou mais arquivos contendo código objeto de módulos de programa compilados separadamente para um arquivo único contendo código carregável ou executável.
- Codificador (Encoder):
- O codificador é uma ferramenta que converte um programa escrito em uma linguagem de programação de alto nível em outra representação mais adequada para armazenamento ou transmissão. Ele converte o código-fonte legível para humanos em uma sequência de caracteres ou bytes compreendida pelo computador. Geralmente, o código-fonte é salvo em arquivos com extensões específicas (por exemplo, .c para C, .py para Python, .java para Java).
- Montador (Assembler):
- O montador é uma ferramenta que converte o código-fonte escrito em linguagem assembly (que é uma representação de baixo nível da linguagem de máquina) em código de máquina (binário) que o processador do computador pode executar diretamente. O montador lida com instruções específicas do processador, como movimentar dados para registradores, realizar operações aritméticas, entre outras.
- Compilador:
- Um compilador é uma ferramenta que traduz o código-fonte de uma linguagem de programação de alto nível para código de máquina (binário) que o computador pode executar diretamente. Ele realiza uma compilação, que é um processo que transforma o código-fonte inteiro em um arquivo executável. Isso permite que o programa seja executado sem a necessidade de reprocessar o código-fonte toda vez que é executado, tornando-o mais eficiente.
- Interpretador:
- O interpretador é uma ferramenta que executa o código-fonte de um programa linha por linha, interpretando as instruções e executando-as em tempo real. Em vez de gerar um arquivo executável como o compilador, o interpretador traduz e executa o código diretamente. Isso significa que o código-fonte precisa ser interpretado toda vez que o programa é executado, o que pode levar a uma execução mais lenta em comparação com a compilação.
- Ligador (Linker):
- O ligador é uma ferramenta que combina os diferentes módulos de código (por exemplo, funções e bibliotecas) gerados durante o processo de compilação em um único arquivo executável. Ele resolve referências entre os módulos, permitindo que eles se comuniquem e funcionem juntos como um programa coeso.
GAB. B
A questão trata da função para reunir procedimentos e juntá-los para serem executados. É a função de um ligador.
Ligador (link editor): Produz código de máquina (código executável, módulo de carga) a partir da ligação de um ou mais códigos objetos (bibliotecas, rotinas); examina o código objeto e substitui as referências externas não resolvidas por código de rotinas ou chamada e passagem de endereços de dados;
Codificador: É um programa que transforma um código fonte em linguagem de máquina. Geralmente é utilizado para traspilar códigos de uma linguagem para outra linguagem.
Montador: É um programa que transforma um código de linguagem assembly em linguagem de máquina. Ele converte as instruções simbólicas (mnemônicos) em códigos de operação.
Compilador: É um programa que traduz um código fonte escrito em uma linguagem de programação de alto nível para linguagem de máquina de um determinado processador. Ele realiza a compilação, otimização e geração de código objeto.
Interpretador: É um programa que lê e executa o código fonte linha por linha, interpretando as instruções e realizando as operações especificadas no código. Ele não gera um arquivo executável, mas executa diretamente o código fonte.
Ligador: É um programa que realiza a ligação entre diferentes módulos ou bibliotecas de um programa, unindo-os em um único executável. Ele resolve as referências entre os diferentes módulos e gera um arquivo executável final.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo