Na programação de computadores, um programa de objeto
é a saída de um compilador ou assembler. É uma forma legível por máquina de um programa, normalmente no código binário (uma sequência de 0s e 1s), que pode ser executada diretamente pelo processador de um computador. É a versão compilada ou montada do código-fonte (o código legível por humanos escrito pelo programador).
Aqui está um colapso:
*
Código fonte: Este é o código escrito pelo programador em uma linguagem de programação de alto nível (como C ++, Java, Python) ou uma linguagem de montagem de baixo nível. É compreensível pelos humanos.
*
Compilação/Assembléia: O código-fonte é processado por um compilador (para idiomas de alto nível) ou um assembler (para linguagens de montagem). Este processo traduz o código fonte legível pelo homem em código de objeto legível por máquina.
*
Programa de objeto (código do objeto): O código do objeto resultante é o programa de objetos. Ele contém instruções da máquina, dados e outras informações necessárias para execução, mas ainda podem não ter alguns elementos necessários para um programa totalmente executável.
*
Linking (geralmente necessário): Freqüentemente, vários arquivos de objeto (de diferentes arquivos de código -fonte) precisam ser combinados em um único arquivo executável. Isso é feito por um ligante. O vinculador resolve referências entre os arquivos do objeto, incorpora o código da biblioteca necessário e cria o executável final.
*
Programa executável: A saída final após a ligação, pronta para ser executada diretamente no computador.
Em resumo, o programa de objetos é uma etapa intermediária crucial no processo de transformar o código-fonte escrito por humanos em um programa executável. Na maioria dos casos, não é diretamente executável, mas é um bloco de construção necessário para o executável final.