Pesquisar

3.4. Usando uma biblioteca estática com GCC

download PDF

As bibliotecas estáticas estão disponíveis como arquivos contendo arquivos objetos. Após a ligação, elas se tornam parte do arquivo executável resultante.

Nota

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

Pré-requisitos

Nota

A maioria das bibliotecas que fazem parte do Red Hat Enterprise Linux são suportadas apenas para links dinâmicos. Os passos abaixo só funcionam para as bibliotecas que são not habilitadas para links dinâmicos. Veja Seção 3.2, “Ligação estática e dinâmica”.

Procedimento

Para ligar um programa a partir de arquivos fonte e objeto, acrescentando uma biblioteca ligada estaticamente foo, que pode ser encontrada como um arquivo libfoo.a:

  1. Mude para o diretório que contém seu código.
  2. Compilar os arquivos fonte do programa com os cabeçalhos da biblioteca foo:

    $ gcc ... -Iheader_path -c ...

    Substitua header_path por um caminho para um diretório contendo os arquivos de cabeçalho para a biblioteca foo.

  3. Ligue o programa com a biblioteca foo:

    $ gcc ... -Llibrary_path -lfoo...

    Substitua library_path por um caminho para um diretório contendo o arquivo libfoo.a.

  4. Para executar o programa mais tarde, simplesmente:

    $ ./programa
Cuidado

A opção -static GCC relacionada à ligação estática proíbe todas as ligações dinâmicas. Em vez disso, use as opções -Wl,-Bstatic e -Wl,-Bdynamic para controlar com mais precisão o comportamento do linker. Ver Seção 3.6, “Usando tanto bibliotecas estáticas como dinâmicas com GCC”.

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.