begin process at 2012 05 29 08:38:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

les headers ou les fichier .h


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

les headers ou les fichier .h

mardi 23 novembre 2010 à 23:48:59 | les headers ou les fichier .h

le1scorpion1noir

salut a tous
une petite question apropos des headers ou les fichiers .h

est ce que je dois les inclure dans les fichiers .c ou le fichier main.c ???
une petite explication sil vous plais je suis débutant et j aimerai bien savoir
a ce que je sais il contiens les prototypes des fichiers correspondante si le fichier s'appelle fiche.c le headeur s'appel fiche.h alors pour quoi inclure le fichier fiche.h dans le fiche.c ???
je me trompe ou on l'inclure que dans le main.c ???

merci pour votre aide

mercredi 24 novembre 2010 à 10:27:14 | Re : les headers ou les fichier .h

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Tu inclus tes fichiers .h, uniquement là ou tu en as besoin. Tout simplement.

C'est une bonne pratique que d'avoir un fichier header par fichier de code, mais ce n'est pas obligatoire.

Si tu as un fichier toto.c et un header toto.h, tu n'es pas obligé d'inclure toto.h dans toto.c, sauf si une fonction de toto.c fait appel à une fonction présente dans ce fichier.
Pour qu'une fonction "voit" une autre fonction, il faut soit: qu'elle soit "en dessous" de la fonction à appeler ou alors que cette fonction soit déclarée.

D'une manière générale, on inclus le fichier header dans le fichier de source, mais aussi dans le fichier ou tu en as besoin (ici main.c).

Pour résumé, si tu ne veux pas te prendre la tête, tu peux faire:
fichier.c => include fichier.h
main.c => include fichier.h

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
mercredi 24 novembre 2010 à 21:11:13 | Re : les headers ou les fichier .h

didoux95

Réponse acceptée !
Si tu comptes utiliser la proposition de "CptPingu", penses quand même, pour eviter les doubles déclarations, à mettre en oeuvre une structure de la forme :

Code C/C++ :
#ifndef _MY_FILE_H_ //Debut du fichier H
#define _MY_FILE_H_ 1
//La suite de ton fichier H
#endif //Fin du fichier H


Voila (;
mercredi 24 novembre 2010 à 22:57:39 | Re : les headers ou les fichier .h

TychoBrahe

Réponse acceptée !
Salut,

C'est une bonne pratique que d'avoir un fichier header par fichier de code, mais ce n'est pas obligatoire.


Perso je trouve ce point très discutable, d'après moi c'est fonction de la manière dont on répartis ses fonctions dans les .c. En effet, quelqu'un qui as l'habitude de remplir ses .c de toutes les fonctions autour d'un même thème (ou partie du projet) trouvera ça très bien. Cependant, perso je suis adapte du "une seule fonction exportée par fichier" ; donc pour les petits projets un header pour tout me semble largement suffisant, pour les plus gros je penche plus pour un header par "partie" du projet (reste à définir les différentes parties, souvent la même chose que les différents).

Si tu as un fichier toto.c et un header toto.h, tu n'es pas obligé d'inclure toto.h dans toto.c, sauf si une fonction de toto.c fait appel à une fonction présente dans ce fichier.


Si on veux repartir sur les bonnes pratiques :
- Chaque fichier comprend au moins une fonction exportée.
- Chaque fonction exportée doit être déclarée avant d'être définie (-Wmissing-declarations avec gcc pour sortir le warning adapté)
- La déclaration des fonctions se fait dans le .h (concernant les fonctions de foo.c on le fait dans foo.h)
Ceci implique donc d'inclure foo.h dans foo.c

penses quand même, pour eviter les doubles déclarations


C'est une très bonne chose en effet, cependant ce que tu propose est à éviter à tout prix : les identifieurs débutant par un underscore sont réservés ! Le mieux est d'enlever l'underscore au début et à la fin de ta macro :
Code C/C++ :
#ifndef MY_FILE_H
#define MY_FILE_H
//La suite de ton fichier H
#endif /* !MY_FILE_H */

Plus de détails : DCL37-C. Do not use identifiers that are reserved for the implementation
dimanche 28 novembre 2010 à 17:34:55 | Re : les headers ou les fichier .h

le1scorpion1noir

merci bcp a vous les gars
dimanche 28 novembre 2010 à 17:40:15 | Re : les headers ou les fichier .h

le1scorpion1noir

donc pour les petits projets un header pour tout me semble largement suffisant, pour les plus gros je penche plus pour un header par "partie" du projet (reste à définir les différentes parties, souvent la même chose que les différents).



la je suis de la même avis que toi


Cette discussion est classée dans : fichier, fichiers, fiche, headers, inclure


Répondre à ce message

Sujets en rapport avec ce message

problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0 [ par nico ] J'ai récupéré un projet contenant des fichiers écrits en C. Le fichier "principal" de ce projet également écrit en C fait appel à des fonctions se tro inclure plusieurs fois des fichiers .h [ par guillaumeM ] j'ai un probleme en incluant les fichiers .h dans plusieur fichiers .cpp en effet j'ai des erreur de type float PlayerMass" (?PlayerMass@@3MA) already Comment inclure un fichier ds un seul et mm executable puis l'extraire? [ par Xanders ] .°o0oO$: XandersBonjour à tous! Voila je vous explique, j'aimerai inclure dans mon executable des fichiers (quelconque exe, jpg ou autre) que j'extrai Comment inclure un fichier ds un seul et mm executable puis l'extraire? [ par Xanders ] .°o0oO$: XandersBonjour à tous! Voila je vous explique, j'aimerai inclure dans mon executable des fichiers (quelconque exe, jpg ou autre) que j'extrai pb visual c++ fichiers [ par pichu ] dans une fonction de visual j'ouvre un fichier fstream en lecture. Ce fichier contient des informations. Mais ca me renvoie true quand j'affiche le ré recherche fichiers executables et comparaisons [ par limsa033 ] Bonsoir,je cherche à lister tous les fichiers executables d(un disque dur ainsi que leur principales caractéristiques(nom,chemin et taille et date de aide sur les fichiers [ par dickymoe ] VinceExiste-t-il une fonction permettant de savoir si un fichier existe ?et une autre permettant de savoir si un fichier est vide ?merci problème avec fichiers !!! [ par ben01n ] salut tout le mondeje prog sous linux et j'aurais besoin d'aide pour un de mes programmes dont j'ai déposé la source sous le nom "client-serveur en ud Les fichiers [ par AngeloVivaldi ] J'utilise la méthode suivante pour copier un fichier vers une destination : FILE * source; FILE * desti; source = fopen(/* blabla */) /* blabla Tableau multidimensionel et fichiers [ par AngeloVivaldi ] slt à tous.Voila, je voudrai mettre dans un tableau multidimensionel chaque ligne d'un fichier, puis modifier une ligne du tableau pour le réécrire da


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales