Código objeto

Neste artigo, exploraremos o fascinante mundo de Código objeto, abrangendo tudo, desde sua origem histórica até sua relevância hoje. _Var1 representa um tema que tem captado a atenção de inúmeros estudiosos e especialistas da área, despertando interesse crescente em diversas áreas do conhecimento. Nas próximas linhas examinaremos as múltiplas facetas e dimensões de Código objeto, analisando o seu impacto na sociedade e a sua influência em diferentes contextos. Iremos aprofundar o seu significado profundo, discutindo as suas implicações e repercussões no panorama atual. Através desta exploração detalhada, pretendemos lançar luz sobre Código objeto e aprofundar a sua essência, oferecendo ao leitor uma perspectiva enriquecedora e esclarecedora sobre este tema emocionante.

 Nota: Não confundir com Programação orientada a objeto.
Diagramas de blocos

Em computação, código objeto ou módulo objeto é o produto de um compilador.[1] Em um sentido geral código objeto é uma sequência de comandos ou instruções numa linguagem de computador,[2] geralmente numa linguagem código de máquina (i.e., binária) ou uma linguagem intermediária, como register transfer language (RTL). O termo indica que o código é o objetivo ou resultado do processo de compilação, com algumas fontes iniciais referindo-se ao código fonte como um "programa sujeito".

Detalhes

Ficheiros objetos podem por sua vez ser linkados para formar um ficheiro executável ou ficheiro de biblioteca. Para ser usado, código objeto deve ser colocado em um arquivo executável, um ficheiro de biblioteca ou um ficheiro objeto.

Código objeto é uma porção de código de máquina que ainda não foi linkada a um programa completo. É o código de máquina para uma biblioteca ou módulo específico que vai compor o produto concluído. Também pode conter placeholders ou offsets, não encontrados no código de máquina de um programa completado, que o linker vai usar para conectar tudo junto. Enquanto código de máquina é código binário que pode ser executado diretamente pela CPU, código objeto tem os saltos parcialmente parametrizados para que um linker possa preenchê-los.

Um assembler é usado para converter código assembly em código de máquina (código objeto). Um linker linka vários ficheiros (e bibliotecas) objetos para gerar um executável. Assemblers também podem montar diretamente para ficheiros executáveis ​​de código de máquina sem a etapa intermediária de objeto.

Referências

  1. «Compiler». TechTarget. Consultado em 1 de setembro de 2011. Traditionally, the output of the compilation has been called object code or sometimes an object module. 
  2. Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). «10 Code Optimization». Compilers: principles, techniques, and tools. Col: Computer Science. : Mark S. Dalton. p. 704. ISBN 0-201-10194-7