Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Relogio

Criando e Usando bibliotecas em C - GNU/Linux e gcc

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Criando e Usando bibliotecas em C - GNU/Linux e gcc

Mensagem  Diego Henrix em Dom Jan 27, 2013 5:52 pm

É 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)

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... Wink

Diego Henrix

Mensagens : 7
Data de inscrição : 04/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum