Procurar
Últimos assuntos
Quem está conectado?
Há 1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Criando e Usando bibliotecas em C - GNU/Linux e gcc
Página 1 de 1
Criando e Usando bibliotecas em C - GNU/Linux e gcc
É muito útil usar bibliotecas para aumentar a modularidade e reusabilidade dos códigos.
Para criar uma biblioteca são necessários ao menos dois arquivos, um .h e um .c.
No arquivo .h são descritas as declarações e protótipos da biblioteca. No .c essa funções são implementadas.
Exemplo de arquivo .h (minha_biblioteca.h)
Exemplo de arquivo .c (minha_biblioteca.c)
Para gerar a biblioteca execute os comandos em um diretório contendo o .h e .c da biblioteca:
gcc -c minha_biblioteca.c -o minha_biblioteca.o
ar rc libminha_biblioteca.a minha_biblioteca.o
isso gera o arquivo .a que juntamente com o .h pode ser utilizado e distribuido.
é recomendado que se mantenha a construção lib___.a onde os traços são o nome da biblioteca.
Utilização da biblioteca:
o programa teste.c usa a biblioteca (minha_biblioteca.h)
compilando o programa:
gcc teste.c -o teste -L. -lminha_biblioteca
-L. diz ao gcc para procurar por bibliotecas na pasta ".", a pasta atual.
-lminha_biblioteca diz para linkar a biblioteca (sem o prefixo lib e sufixo .a) ao programa
Mais em:
http://aventuranolinux.wordpress.com/2007/11/07/como-gerar-e-utilizar-bibliotecas-estaticas/
Valeu...
Para criar uma biblioteca são necessários ao menos dois arquivos, um .h e um .c.
No arquivo .h são descritas as declarações e protótipos da biblioteca. No .c essa funções são implementadas.
Exemplo de arquivo .h (minha_biblioteca.h)
- Código:
#ifndef _MINHA_BIBLIOTECA_ //essa construção é usada para evitar
//múltiplas inclusões da mesma biblioteca
#define _MINHA_BIBLIOTECA_ //explicação: caso não tenha sido definida,
//defina e inclua as seguintes linhas de código
#include <stdio.h> // declaração de outras bibliotecas utilizadas aqui
#define CODIGO 123
void imprime_cod(void);
#endif // #ifndef _MINHA_BIBLIOTECA_
Exemplo de arquivo .c (minha_biblioteca.c)
- Código:
#include "minha_biblioteca.h" // o arquivo minha_biblioteca.h deve estar na mesma pasta
/* implementação da função void imprime_cod(void) */
void imprime_cod(void)
{
printf("O código é: %d", CODIGO);
}
Para gerar a biblioteca execute os comandos em um diretório contendo o .h e .c da biblioteca:
gcc -c minha_biblioteca.c -o minha_biblioteca.o
ar rc libminha_biblioteca.a minha_biblioteca.o
isso gera o arquivo .a que juntamente com o .h pode ser utilizado e distribuido.
é recomendado que se mantenha a construção lib___.a onde os traços são o nome da biblioteca.
Utilização da biblioteca:
o programa teste.c usa a biblioteca (minha_biblioteca.h)
- Código:
#include "minha_biblioteca.h"
int main(int argc, int **argv)
{
imprime_cod();
return 0;
}
compilando o programa:
gcc teste.c -o teste -L. -lminha_biblioteca
-L. diz ao gcc para procurar por bibliotecas na pasta ".", a pasta atual.
-lminha_biblioteca diz para linkar a biblioteca (sem o prefixo lib e sufixo .a) ao programa
Mais em:
http://aventuranolinux.wordpress.com/2007/11/07/como-gerar-e-utilizar-bibliotecas-estaticas/
Valeu...
Diego Henrix- Mensagens : 7
Data de inscrição : 04/04/2012
Tópicos semelhantes
» Sequência de Fibonacci ( usando recursividade e ponteiro)
» Criação de Bibliotecas e Makefiles em C/C++
» Bibliotecas Gráficas para C/C++ - Algumas Sugestões
» Usando Genymotion
» Formulario usando GroupLayout
» Criação de Bibliotecas e Makefiles em C/C++
» Bibliotecas Gráficas para C/C++ - Algumas Sugestões
» Usando Genymotion
» Formulario usando GroupLayout
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Qui maio 16, 2024 9:29 pm por juk
» Atividade Prática 5: Classes Abstratas e Interfaces
Seg maio 13, 2024 10:24 pm por juk
» Atividade Prática 4: Exercitando Herança e Polimorfismo
Seg maio 13, 2024 10:15 pm por juk
» Atividade Prática 4: Exercitando Herança e Polimorfismo
Seg maio 13, 2024 10:11 pm por juk
» Atividade Prática 3: Exercitando o relacionamento entre classes
Seg maio 13, 2024 10:06 pm por juk
» Atividade Complementar: Exercitando a criação de classes e objetos
Seg maio 13, 2024 10:01 pm por juk
» Atividade Prática 2: Exercitando a criação de classes e objetos
Seg maio 13, 2024 9:54 pm por juk
» Atividade Prática 1: Problemas Básicos de Programação
Seg maio 13, 2024 9:50 pm por juk
» Principais IDEs para Java
Qui Abr 25, 2024 9:27 pm por juk