Red Hat Training

A Red Hat training course is available for RHEL 8

4.4. Criação de bibliotecas estáticas com GCC e ar

A criação de bibliotecas para ligação estática é possível através da conversão de arquivos de objetos em um tipo especial de arquivo.

Nota

A Red Hat desencoraja o uso de ligação estática por razões de segurança. Use links estáticos somente quando necessário, especialmente contra bibliotecas fornecidas pela Red Hat. Veja Seção 3.2, “Ligação estática e dinâmica” para mais detalhes.

Pré-requisitos

Procedimento

  1. Criar arquivos de objetos intermediários com GCC.

    $ gcc -c source_file.c...

    Anexar mais arquivos de origem, se necessário. Os arquivos objeto resultantes compartilham o nome do arquivo, mas use a extensão .o.

  2. Transforme os arquivos objeto em uma biblioteca estática (arquivo) usando a ferramenta ar do pacote binutils.

    $ ar rcs libfoo.a source_file.o...

    O arquivo libfoo.a é criado.

  3. Use o comando nm para inspecionar o arquivo resultante:

    $nm libfoo.a
  4. Copie o arquivo estático da biblioteca para o diretório apropriado.
  5. Ao vincular-se contra a biblioteca, o GCC reconhecerá automaticamente a partir da extensão do nome do arquivo .a que a biblioteca é um arquivo para vínculo estático.

    $ gcc ... -lfoo...

Recursos adicionais

  • Página do manual Linux para ar(1):

    $ homem ar