Bonjour à tous,
je commence à programmer en C, ça fait environ 1 mois.
Je voudrais savoir la manière comment puis-je construire une bibliothèque en langage C.
Merci.
Version imprimable
Bonjour à tous,
je commence à programmer en C, ça fait environ 1 mois.
Je voudrais savoir la manière comment puis-je construire une bibliothèque en langage C.
Merci.
Une bibliothèque en c , c'est qu'un ensemble de fonction , il faut juste que le compilateur compile un .lib grosso modo.
Néanmoins si tu code que depuis un mois , tu devrais oublier cette idée , tu n'as pas encore le bagage et l’expérience nécessaire pour faire une lib correct.
Bonjour,
Une bibliothèque, ce n'est qu'un ensemble de fonction, compilées et du coup, sans main(). Du coup, il vous suffit de créer cet ensemble de fonctions, de bien faire les en-têtes (.h) pour permettre aux utilisateurs de la bibliothèque d'utiliser votre bibliothèque (afin que leur compilateur sache quelles fonctions sont disponibles) et surtout, de configurer votre EDI pour qu'il compile cela sous la forme d'une bibliothèque (car un programme doit obligatoirement avoir un main() (précisément : un point d'entrée) mais pas une bibliothèque).
Bonjour
Voici un petit exemple de bibliothèque qui offre une fonction "carre" et "cube"
1) fichier "carre.c"
Code:
1
2
3
4 #include <stdio.h> unsigned long carre(short nb) { return((long)nb * nb); }
2) fichier "cube.c"
Code:
1
2
3
4 #include <stdio.h> long cube(short nb) { return((long)nb * nb * nb); }
3) création de la librairie
Code:
1
2
3 gcc -c carrre.c gcc -c cube.c gcc -shared carre.o cube.o -o math.so
4) le header "math.h" à inclure par ceux qui utiliseront ta librairie
Code:
1
2
3
4
5
6 #ifndef __math_h_ #define __math_h_ unsigned long carre(short); long cube(short); #endif //__math_h_
5) le programme "prog.c" qui va utiliser ta librairie
Code:
1
2
3
4
5
6
7 #include <stdio.h> #include <math.h> main() { printf("Carré de 2 = %lu\n", carre(2)); printf("Cube de 3 = %ld\n", cube(3)); }
6) compilation du programme avec la librairie
Code:gcc prog.c math.so -o prog