Salut,
Bon, 1 ou 2 truc de programmation :
Quand tu fais un programme, il ne va pas tenir forcément dans un seul fichier.
Tu vas le séparer en plusieurs fichiers selon un critère quelconque, et dans chaque fichier, tu as des focntions, des variables, des types définis,...
Quand dans un fichier source, tu fais appel à une fonction, le compilateur va regarder si dans ce même fichier, cette fonction n'y est pas.....
et même plus : il ne regarde que les fonction définies plus haut, pas celles juste après.... quel fénéant !
Si la fonction n'y est pas... il ne sait plsu quoi compiler. Il y a une erreur de compilation. (il n'a besoin dans un premier temps que de la déclaration, pas du code en lui-même)
Il va jusqu'au début du fichier source : donc finalement, c'est l'entête du fichier
La méthode est donc plutôt simple : déclarer toutes les fonctions nécessaires tout au début du fichier.
Le problème : c'est pas gérable quand il y a plein de fichiers différent... et puis, c'est la loose... faut pas faire ça, c'est comme croiser les effluves... c'est mal.... sa pu sai pa modulaire
Donc, la solution : mettre toutes ces déclaration d'entête dans un fichier séparés : d'où le nom "entête". (et à la limite, un fichier d'entête pour un fichier source)
Et dans chaque fichier source, on ne met qus les référence au(x) fichier(s) d'entête correspondants. (y compris le sien)
C'est le même raisonnement pour les variables (globales), les types (et classes)...
Donc on met en génral dans les entêtes toutes les déclaration de variables, fonctions, types... sans y mettre forcément le contenu des focntions.
Pour le noyau, c'est pareil, il y a des fichiers sources, et pour compiler, il y a des fichiers d'entête.
Voilà.. a+