viciado Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 Como criar e compilar biblioteca em c ? Tenho um programa com varias funções como criar biblioteca e compilar ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 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ávelPesquise por modularizaçãohttp://www.google.com/search?hl=pt-BR&...squisar&lr= Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viciado Postado Dezembro 16, 2008 Autor Denunciar Share Postado Dezembro 16, 2008 Como eu posso compilar no gcc do linux ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 (editado) 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 executavelEste 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 Dezembro 16, 2008 por Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viciado Postado Dezembro 16, 2008 Autor Denunciar Share Postado Dezembro 16, 2008 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; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Dezembro 16, 2008 Denunciar Share Postado Dezembro 16, 2008 Num arquivo coloque somente o main(). Num outro coloque as outras funções. Crie o header file (.h) e o inclua no arquivo do main.É o que eu mostrei no post anterior.Veja o link que posteiTente fazer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 viciado Postado Dezembro 16, 2008 Autor Denunciar Share Postado Dezembro 16, 2008 Consegui, obrigado é bem fácil e útil Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
viciado
Como criar e compilar biblioteca em c ? Tenho um programa com varias funções como criar biblioteca e compilar ?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.