Pesquisar

3.3. Usando uma biblioteca com GCC

download PDF

Uma biblioteca é um pacote de código que pode ser reutilizado em seu programa. Uma biblioteca C ou C é composta de duas partes:

  • O código da biblioteca
  • Arquivos de cabeçalho

Compilação de código que utiliza uma biblioteca

Os arquivos de cabeçalho descrevem a interface da biblioteca: as funções e variáveis disponíveis na biblioteca. As informações dos arquivos de cabeçalho são necessárias para a compilação do código.

Tipicamente, os arquivos de cabeçalho de uma biblioteca serão colocados em um diretório diferente do código da sua aplicação. Para dizer ao GCC onde estão os arquivos de cabeçalho, use a opção -I:

$ gcc ... -Iinclude_path...

Substitua include_path pelo caminho real para o diretório de arquivos de cabeçalho.

A opção -I pode ser usada várias vezes para adicionar vários diretórios com arquivos de cabeçalho. Ao procurar por um arquivo de cabeçalho, estes diretórios são pesquisados na ordem de aparecimento nas opções -I.

Código de ligação que utiliza uma biblioteca

Ao ligar o arquivo executável, tanto o código objeto de sua aplicação quanto o código binário da biblioteca devem estar disponíveis. O código para bibliotecas estáticas e dinâmicas está presente em diferentes formas:

  • As bibliotecas estáticas estão disponíveis como arquivos. Elas contêm um grupo de arquivos objetos. O arquivo de arquivo tem uma extensão de nome de arquivo .a.
  • Bibliotecas dinâmicas estão disponíveis como objetos compartilhados. Elas são uma forma de arquivo executável. Um objeto compartilhado tem uma extensão de nome de arquivo .so.

Para dizer ao GCC onde estão os arquivos ou arquivos objetos compartilhados de uma biblioteca, use a opção -L:

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

Substituir library_path pelo caminho real para o diretório da biblioteca.

A opção -L pode ser usada várias vezes para adicionar vários diretórios. Ao procurar uma biblioteca, estes diretórios são pesquisados na ordem de suas opções -L.

A ordem das opções é importante: O GCC não pode se conectar a uma biblioteca foo a menos que conheça o diretório com esta biblioteca. Portanto, use as opções -L para especificar os diretórios das bibliotecas antes de usar as opções -l para fazer um link contra bibliotecas.

Compilação e vinculação de código que utiliza uma biblioteca em uma única etapa

Quando a situação permitir que o código seja compilado e vinculado em um comando gcc, use as opções para ambas as situações mencionadas acima de uma só vez.

Recursos adicionais

  • Usando a Coleção de Compiladores GNU (GCC)
  • Usando a Coleção de Compiladores GNU (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.