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

  FORUM HardWare.fr
  Programmation
  C

  [C] Problème d'inclusion de type...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Problème d'inclusion de type...

n°1371408
LaPointe
Roule toujours
Posté le 21-05-2006 à 10:21:54  profilanswer
 

:hello: à 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.c, 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 :jap:


---------------
LaPointe - USB OTG File Manager for Nexus - Version Trial - Simple Music Player - Version gratuite
mood
Publicité
Posté le 21-05-2006 à 10:21:54  profilanswer
 

n°1371409
Taz
bisounours-codeur
Posté le 21-05-2006 à 10:22:38  profilanswer
 

t'aurais pas un peu de code (minimaliste) ?

n°1371413
Sve@r
Posté le 21-05-2006 à 10:38:38  profilanswer
 

LaPointe a écrit :

:hello: à 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 :jap:


Tu crées un 2° header "struct_secrete.h" que tu ne donneras pas contenant le code suivant
#ifndef _STRUCT_SECRETE_H_
#define _STRUCT_SECRETE_H_
 
// Définition de toutes tes structures secrètes
...
#endif // _STRUCT_SECRETE_H_
 
Et tu inclus cet header dans tes sources mais sans le distribuer...
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1371415
LaPointe
Roule toujours
Posté le 21-05-2006 à 10:40:15  profilanswer
 

j'avais aussi envisagé cette solution, je vais faire comme ça :jap:


---------------
LaPointe - USB OTG File Manager for Nexus - Version Trial - Simple Music Player - Version gratuite
n°1371439
Taz
bisounours-codeur
Posté le 21-05-2006 à 11:34:12  profilanswer
 

y a pas à envisager, c'est comme ça qu'on fait !

n°1371609
Emmanuel D​elahaye
C is a sharp tool
Posté le 21-05-2006 à 16:39:08  profilanswer
 

LaPointe a écrit :

J'ai un petit problème dans l'inclusion de types abstraits de données... Je m'explique :<...>Y-a-t-il une autre solution qui me permettrait de garder toutes les structures cachées ? :??:

Ne travailler qu'avec des pointeurs abstraits :  
 
Théorie :  
 
http://mapage.noos.fr/emdel/tad.htm
 
Exemples :
 
http://mapage.noos.fr/emdel/clib.htm


---------------
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/

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

  [C] Problème d'inclusion de type...

 

Sujets relatifs
Problème de récupération valeur d'un select en javascript avec firefoxProbléme d'encoding maybe
Probléme de lienprobleme de débutant
Probléme isfileprobleme de formulaire avec easyphp 1.8
problème avec easyphp[MySQL] Problème de requête
problème boutons radioProblème de sélection dans mes divs
Plus de sujets relatifs à : [C] Problème d'inclusion de type...


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