4.3. Criando bibliotecas dinâmicas com GCC


Bibliotecas dinamicamente ligadas (objetos compartilhados) permitem:

  • conservação de recursos através da reutilização de códigos
  • aumento da segurança, facilitando a atualização do código da biblioteca

Siga estes passos para construir e instalar uma biblioteca dinâmica a partir da fonte.

Pré-requisitos

Procedimento

  1. Mude para o diretório com as fontes da biblioteca.
  2. Compilar cada arquivo fonte em um arquivo objeto com a opção de código independente de posição -fPIC:

    $ gcc ... -c -fPIC some_file.c...

    Os arquivos objeto têm os mesmos nomes dos arquivos de código fonte originais, mas sua extensão é .o.

  3. Vincular a biblioteca compartilhada a partir dos arquivos objeto:

    $ gcc -shared -o libfoo.so.x.y -Wl,-soname,libfoo.so.x some_file.o ...

    O número da versão maior é X e o número da versão menor é Y.

  4. Copie o libfoo.so.x.y para um local apropriado, onde o linker dinâmico do sistema possa encontrá-lo. No Red Hat Enterprise Linux, o diretório para bibliotecas é /usr/lib64:

    # cp libfoo.so.x.y /usr/lib64

    Note que você precisa de permissões de root para manipular os arquivos neste diretório.

  5. Criar a estrutura symlink para o mecanismo soname:

    # ln -s libfoo.so.x.y libfoo.so.x
    # ln -s libfoo.so.x libfoo.so

Recursos adicionais

  • O Projeto de Documentação Linux
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja oBlog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

© 2024 Red Hat, Inc.