>>Proposition:
Tu n'as qu'à créé un .h dans lequel tu mets les prototypes des fonctions que tu veux rendre globales à tous tes fichiers C ou CPP et tu l'inclues dans chacun de tes fichiers C et CPP
L'inconvénient de cette méthode, c'est que tes fichiers objets ne seront pas supers beaux!
>>Explication rapide de la compilation et du linkage
Sinon, en quelques mots pour t'expliquer l'utilité d'un header!
Il faut que tu indiques au compilateur la forme de tes fonctions (cad le prototype) pour qu'il puisse vérifier que lors de tes appels, tu passes les bons paramètres! Après cette phase de compilation (réalisation d'un fichier objet) il y a le linker qui entre en jeu! Celui-ci lie les fichiers objets entre eux. C'est donc lui qui recherche où est définie ta fonction.
C'est loin d'être limitatif, tu fais tout ce que tu veux avec ça!
>>Réaction à ce que tu dis
Par contre dans ce que tu dis plus haut, j'ai l'impression que tu avais juste changer l'extension de ton fichier cpp en un .h
Ce n'est plus du tout la même chose, même si c'est compilable!
Dans un header tu mets des inclusions à d'autre fichier h, tu mets des #define, tu définis des structures, tu mets les PROTOTYPES de tes fonctions, mais jamais tu mets du code!
Si tu as des questions sur les headers, hésite pas! Je ferais mon possible pour répondre!
>>ATTENTION DANGER
Ah oui, il faut aussi te dire qu'il faut que tu ne passes qu'une et une seule fois dans ton header pendant la compilation! Une fois que les données définies à l'intérieure de ton header sont définies, elles n'ont plus à être redéfinies!
Tu dois mettre en haut de ton header (je sais pas si c'est la seule méthode)
#ifndef NOMFICHIER_H_ //par exemple
#define NOMFICHIER_H_
et à la fin du fichier H:
#endif
comme ça tu définis le contenu du .h uniquemenbt si NOMFICHIER_H_ n'est pas défini, donc la première fois que tu rentres dans le .h, tu le définis, et ensuite ben tu sors du #ifndef
Bon, j'espere que c'est clair, c'est jamais évident à expliquer!
Si jamais j'ai fait des erreurs ou dit des choses à peine juste, hésiter pas!
Savon