CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Les headers système dans les .h

BuretteGraduee
BuretteGraduee
Niveau 10
02 juin 2014 à 22:34:26

Salut,

Je voudrais savoir lorsque je fais un header, est-ce que je dois mettre les headers systèmes (style stdio, stdlib etc ...) dans le .c et le header, ou seulement dans l'un des deux.
Par sécurité, je l'ai toujours mis dans les deux, mais je me pose maintenant la question de savoir si c'est vraiment nécessaire :(

ZadreK
ZadreK
Niveau 5
02 juin 2014 à 22:53:50

Je sais pas si c'est important mais je te conseille de le mettre mais je pense pas que ça change grand chose, ton code va marcher/ :ok:

[denshaotoko]
[denshaotoko]
Niveau 25
02 juin 2014 à 23:30:34

Si tu codes un module, avec exemple.h et exemple.c par exemple, avec dans exemple.c ton implementation, et dans exemple.h tes prototypes, alors moi j'ai pour habitude de mettre tous les includes nécessaires dans exemple.h, et ensuite j'include exemple.h dans exemple.c, comme ça, je réparti pas tout partout, je vois tout ce que j'ai inclus et utilisé pour mon module en regardant juste le contenu de mon exemple.h

mais sinon mettre ça dans les deux je crois que c'est inutile, ça ne changera pas grand chose concrétement, puisque que stdio.h stdlib.h unistd.h math.h etc etc ont du #ifndef _CONSTANTE_ pour éviter que le préprocesseur inclus plusieurs fois la même chose de toute façon, donc le fait de ne pas écrire ça plusieurs fois te fais gagner une vérification durant l'étape juste avant la compilation pour chaque doublon, triplon, quadruplon etc..,

En fait, je pense que le fait de ne pas rajouter ça partout c'est surtout pour un soucis de "lisibilité" et de "propreté" je dirais, enfin je vois ça comme ça
en bref le fait de faire ses inclusions dans le .c ou dans le .h, c'est selon le contexte, puis aussi selon comment toi tu trouves ça plus ou moins propre, sauf si t'es dans un cas d'inclusion circulaire (par forcement direct, ça peut être indirectement) et dans ce cas faudra placer les includes de façon plus précise, comme en C++ avec la définition des classes lorsqu'elles s'utilisent de façon mutuelle, mais bon ça peut arriver en C avec définition de structure je pense

Vis1teur
Vis1teur
Niveau 10
03 juin 2014 à 01:57:11

En général je mets dans le .h par défaut.
Parfois si je me sert de l'inclusion que dans le cpp, je l'inclus alors dedans, pas dans le h (pour éviter des galères avec des doubles inclusions).

Le mettre dans les deux est inutile vu que tu inclus ton header dans ton fichier source.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment