LaPointe a écrit :
à tous
J'ai un petit problème dans l'inclusion de types abstraits de données... Je m'explique :
Mon but est d'implémenter un certain nombre de types abstraits de données et leurs fonctions de base en vue d'une utilisation dans un programme final, mais tout en gardant les structures confidentielles, c'est-à-dire que je souhaite uniquement mettre dans mes headers le typedef et les déclarations des fonctions de base, et laisser le struct dans le .c qui serait uniquement fourni en .o avec son header.
Je crée donc mon 1er type appelé "histo" avec dans histo.c le struct et les fonctions de base, et dans histo.h, le typedef et les déclarations de fonction.
Je compile le .o et tout se passe bien pour le moment.
Je crée ensuite mon 2e type appelé "tab_histo" qui réutilise mon type "histo" (idem qu'avant pour le tab_histo.c et tab_histo.h où je fais un include de histo.h).
Mais là, impossible de compiler le .o sans erreur puisqu'il ne sait pas ce qu'est le type histo, gcc ne pouvant pas compiler tab_histo.c en .o tout en "regardant" histo.o.
La seule solution que j'ai trouvé pour le moment, c'est de transférer ma structure à l'origine du type histo dans histo.h, ce qui ne me plaît pas du tout.
Y-a-t-il une autre solution qui me permettrait de garder toutes les structures cachées ?
Merci par avance
|