bonjour à tous le monde ,voila j'ai plusieurs fonctions qui sont utilisé par les mêmes programmes
j'aimerais savoir comment je peut créer un fichier.h pour l'utiliser à chaque appel
merci
bonjour à tous le monde ,voila j'ai plusieurs fonctions qui sont utilisé par les mêmes programmes
j'aimerais savoir comment je peut créer un fichier.h pour l'utiliser à chaque appel
merci
Si tu as plusieurs programmes... tu as 2 solutions :
1) Tu copies/colles tes sources dans chaque projet (le plus facile au début)
2) Faire des libs
Dans tous les cas, en effet, tu devras faire un .h
Le .h va contenir toutes les déclarations nécessaires à l'utilisation des libs/sources que tu fournis.
Par exemple :
Dans ce cas, je vais utiliser à l'extérieur uniquement la fonction FonctionTest.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int Fonction42(char *arg) { ... } int FonctionTest(int arg1, char arg2) { ... MonEntier = Fonction42(MonCharEtoile); ... }
Le .h devra donc contenir ceci :
Il faudra ajouter aux sources un include.
Code : Sélectionner tout - Visualiser dans une fenêtre à part int FonctionTest(int arg1, char arg2);
Cependant, pour éviter que tes .h s'appellent dans tous les sens et fassent des références croisées...
Il faut bien les encadrer.
Voici un exemple :
test.h
Dans les .c qui appelleront cette fontion, tu devras ajouter : #include "test.h"EDIT : bizarre... mon post est devenu numéro 1...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef TEST_H_ # define TEST_H_ #include <unistd.h> int FonctionTest(int arg1, char arg2); #endif /* !TEST_H_ */
--
Metalman !
Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
(ANSI retire quelques fonctions comme strdup...)
L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
Et s'assurer que la logique est bonne "aussi" !
Ma page Developpez.net
Salut à tous.Je crois que ta réponse est dans le poste de Matelman.j'aimerais savoir comment je peut créer un fichier.h pour l'utiliser à chaque appel
merci
T'utilises quel IDE?
Ouais alors pour rappel : je n'ai aucune idée de comment mon post est devenu le 1er dans ce topic ! xD
J'ai juste répondu à ferhat.abdel... et pouf !
Mon post est devenu numéro 1
--
Metalman !
Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
(ANSI retire quelques fonctions comme strdup...)
L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
Et s'assurer que la logique est bonne "aussi" !
Ma page Developpez.net
Metalman répond avant que l'internaute ne pose la question. C'est bluffant.
Et l'internaute vient poser la question là où la réponse est déjà. Non moins troublant.
Salut. merci pour ta réponse
stp comment créer une bibliothèque
je veux essayer la deuxième solution
merci
C'est à force d'aider que... POUF ! Je devine à l'avance les questions !
Alors pour créer une bibliothèque tu as encore plusieurs solutions !
Tu peux créer des bibliothèques statiques (.a / .lib) ou dynamiques (.so / .dll).
La différence ?
La statique : tu devras l'inclure à la compilation
La dynamique : tu devras la mettre à disposition de l'utilisateur lors de l'exécution
Je n'ai pas fais beaucoup de bibliothèques pour te l'avouer...
Je peux surtout te donner des lignes issues de google :
Créer libs sur Windows avec Visual Studio (C++), mais cela peut à mon avis s'appliquer facilement en C
Créer libs statiques sur Windows avec Code::Blocks
Créer libs sur Linux
Normalement... tu devrais avoir des réponses là dedans...
Et dans TOUS les cas : ne pas oublier de fournir la lib ET le .h !
--
Metalman !
Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
(ANSI retire quelques fonctions comme strdup...)
L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
Et s'assurer que la logique est bonne "aussi" !
Ma page Developpez.net
Cours de C : http://c.developpez.com/cours/
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager