Questão sobre compiladores

O processamento de dados em um computador é realizado combinando-se recursos de hardware e software.

Em relação ao software podemos citar as linguagens de programação, que possibilitam a edição e criação de programas.

Como componente das linguagens temos o compilador, cuja função é:

A) Separar módulos em programas distintos, inserindo informações de relocação de endereços e referência entre os módulos, resultando no chamado código executável
B) Detectar todos os erros de lógica de programação encontrados em um código executável
C) Gerenciar recursos de hardware e de software, permitindo ao usuário se comunicar com o computador
D) Converter um programa escrito em uma linguagem de alto nível em código binário, resultando no chamado código objeto
E) Transformar dados em informações, utilizando conhecimento

  • Sei que a respostá é a letra D, mas, não resultaria em um código executável?
  • Por que a questão aponta Código Objeto? é um nome alternativo?

Se formos seguir a definição da Wikipedia (https://pt.wikipedia.org/wiki/Código_objeto) podemos ver que o compilador gera um código objeto para cada código fonte e é trabalho do Linker interligar tudo gerando, assim, o executável.