Diferentes formatos de arquivos de objetos no Linux

4

Eu queria saber quais são alguns formatos de arquivos objeto no Linux?

Existem dois tipos de arquivos de objeto que eu conheço:

  1. executável, que possui formato ELF
  2. arquivos de objeto que são gerados pelo gcc após a compilação, mas antes da vinculação.

    qual é o formato desses arquivos de objeto?

    Ou eles também são formato ELF, mas com alguns sub-formatos diferentes dos executáveis?

    O trabalho de um vinculador é converter o formato desse tipo de arquivo de objeto no formato de executáveis?

  3. Existem outros tipos de arquivos de objetos?
por Tim 05.08.2011 / 22:47

2 respostas

1

Sim! Eles também são ELF. Eles são referidos como arquivos de objetos ELF.

    
por 05.08.2011 / 23:40
1

Os core dumps também são arquivos de objeto, de uma espécie, e geralmente no formato ELF também. A execução desse programa provavelmente produzirá um arquivo chamado "core":

int
main(int ac, char **av)
{
        char *p = 0;
        *p = 'a';
        return 0;
}

Meu comando file diz:

core: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from './dump'
    
por 06.08.2011 / 02:33