Ir para conteúdo
Fórum Script Brasil
  • 0

Biblioteca


viciado

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

Um exemplo simples:

lib.h

#ifndef _LIB_H_
#define _LIB_H_

void troca(int *, int*);

#endif
lib.c
void troca(int *a, int *b)
{
    int aux = *a;
   *a = *b;
    *b = aux;
}
main.c
#include "lib.h"

int main()
{
    int a=5, b=10;

    troca(&a, &b);
}

Você tem que compilar todos os .c e gerar somente um executável

Pesquise por modularização

http://www.google.com/search?hl=pt-BR&...squisar&lr=

Link para o comentário
Compartilhar em outros sites

  • 0

C opção -c do gcc somente compila o programa, gerando o .o. Depois você3 compila todos os .o e usa a opção -o para gerar o executável:

$ gcc -c lib1.c
$ gcc -c lib2.c
$ gcc -c main.c
$ gcc main.o lib1.o llib2.o -o executavel

Este artigo fala sobre isso e Makefiles (que auxiliam muito em casos assim, tornando a compilação mais rápida):

http://www.vivaolinux.com.br/artigo/C-Incl...efile/?pagina=1

Editado por Beraldo
Link para o comentário
Compartilhar em outros sites

  • 0

Por exemplo como posso criar uma biblioteca com essas funções ?

#include <stdio.h>

#include <stdlib.h>

int par(int m[3][4]){

    int count = 0;

    int i,j;

    for(i=0;i<3;i++)

       for(j=0;j<4;j++){

              if(m[i][j] % 2 == 0){

                         count++;

                         }

                         }

    return (count);

}

int impar(int m[3][4]){

    int i,j;

    int soma = 0;

    for(i=0;i<3;i++)

       for(j=0;j<4;j++){

                if(m[i][j] % 2 != 0){

                           soma = soma + m[i][j];

                           }

                           }

    return(soma);

}

float media(int m[3][4]){

      int i,j;

      float soma = 0;

      for(i=0;i<3;i++)

          for(j=0;j<4;j++){

                 soma = soma + m[i][j];

                 }

      float media = soma / 12;

      return (media);

}

int main()

{

  int m[3][4];

  int i,j;

  for(i=0;i<3;i++)

      for(j=0;j<4;j++){

             printf("Preenche a matriz M[%d][%d] \n",i,j);

             scanf("%d",&m[i][j]);

             }

  printf("A quantidade de numeros par e: %d \n",par(m));

  printf("A soma dos numeros impar e: %d \n",impar(m));

  printf("A media de todos os numeros e: %f \n",media(m));

  system("PAUSE");    

  return 0;

}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...