Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1631 connectés 

  FORUM HardWare.fr
  Programmation
  C

  peut on inclure des fichiers .h dans d'autes fichiers .h ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

peut on inclure des fichiers .h dans d'autes fichiers .h ???

n°1303096
in_your_ph​ion
Posté le 10-02-2006 à 16:37:07  profilanswer
 

bongour !!
 
tout est dans le titre ...peut on inclure des fichiers .h dans d'autes fichiers .h ??? plus exactement, est ce que c'est conseillé ou pas du tout ??
 
 
en fait j'ai un code dont je met les protos de fonctions dans un ficher ".h". Seulement, les protos des fonctions font appel a des structures définies par une librairie ...(GSL), par exemple certaines fonctions dans mon point h sont du type :
 

Code :
  1. int mafonction (gsl_matrix * m);


 
or, j'ai besoin d'inclure ce fichier ailleurs, mais ailleurs je ne fais pas appel aux fonctions du type que je viens de citer au dessus. Donc pour ne pas avoir d'erreur de compilation, le seul truc que j'ai trouvé c'est de mettre  

Code :
  1. #include <gsl_matrix.h>


 
dans mon fichier ".h"
 
 
...je peux faire ca ?? c'est mal ? je dois me flageller et demander repentance ? mon coeur chavire, tiraillé, je suis en plein doute. Ô lumière, éclaire moi  [:arg]  
 
merci par avance :ange:

Message cité 1 fois
Message édité par in_your_phion le 10-02-2006 à 16:41:41
mood
Publicité
Posté le 10-02-2006 à 16:37:07  profilanswer
 

n°1303114
Elmoricq
Modérateur
Posté le 10-02-2006 à 16:52:30  profilanswer
 

Bien sûr que tu peux.
 
D'ailleurs regarde les .h standards, tu verras qu'ils ne se privent pas.

n°1303147
Emmanuel D​elahaye
C is a sharp tool
Posté le 10-02-2006 à 17:23:22  profilanswer
 


bondoir !!

Citation :

tout est dans le titre ...peut on inclure des fichiers .h dans d'autes fichiers .h ???


Oui. C'est une pratique courante et sans danger si on prend les précautions d'usage, telle que l'ajout de gardes anti-inclusions multiples dans une même unité de compilation comme expliqué ici :
 
http://mapage.noos.fr/emdel/codage [...] ser_source

Citation :

plus exactement, est ce que c'est conseillé ou pas du tout ??


Ce n'est pas déconseillé. C'est le code qui guide. La regle est simple. Un header doit avoir tout ce qu'il faut pour être compilable seul. Si il y a un paramètre de fonction FILE *, il doit inclure <stdio.h>. Si il y a un size_t dans une structure, il faut inclure <stddef.h> etc. Pareil avec les headers 'maison' ou des bibliothèques tierces.
 
Ensuite, ce sont les protections déjà évoquées qui font la police.

Citation :

en fait j'ai un code dont je met les protos de fonctions dans un ficher ".h".


Ok.

Citation :

Seulement, les protos des fonctions font appel a des structures définies par une librairie ...(GSL),


Mal formulé. Tu veux dire  

Citation :

les protos des fonctions font appel a des structures définies dans le fichier d'interface *.h d'une bibliothèque (GSL)


Citation :


par exemple certaines fonctions dans mon point h sont du type :

Code :
  1. int mafonction (gsl_matrix * m);




classique.

Citation :


or, j'ai besoin d'inclure ce fichier ailleurs, mais ailleurs je ne fais pas appel aux fonctions du type que je viens de citer au dessus. Donc pour ne pas avoir d'erreur de compilation,  


Si les .h sont correctement protégés, il n'y a aucun risque.

Citation :


le seul truc que j'ai trouvé c'est de mettre  

Code :
  1. #include <gsl_matrix.h>


dans mon fichier ".h"


Rien à dire.


Message édité par Emmanuel Delahaye le 10-02-2006 à 23:32:13

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1303280
skelter
Posté le 10-02-2006 à 21:19:02  profilanswer
 

c'est important quand meme de savoir comment fonctionne le preprocesseur C
http://en.wikipedia.org/wiki/C_preprocessor
si tu utilises gcc, execute la commande

cpp fichier.c


et tu verras ce que recupere le compilateur

n°1305010
in_your_ph​ion
Posté le 14-02-2006 à 11:15:27  profilanswer
 

merci pour vos réponses  :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  peut on inclure des fichiers .h dans d'autes fichiers .h ???

 

Sujets relatifs
[Java J2EE Servlet] récupérer des fichiers inclus dans un war[BATCH] Lister les fichiers d'un dossier
Listing répertoire de MP3 et lecture des tags de ces fichiersVBS - Vérif de l'existance de fichiers puis les couper
>>>> FICHIERS <<<< [ C ]Xalan la meilleure façon de transformer plusieurs fichiers
Interface web de partage de fichiersUpload de fichiers
Créer automatiquement des fichiers d'entêtecompression zip de plusieurs fichiers sur free
Plus de sujets relatifs à : peut on inclure des fichiers .h dans d'autes fichiers .h ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR