Organisation des sources librairies

Le
VB
Bonjour,

J'ai codé ma propore librairie de fonctions C, qui me servent
régulièrement et dont je me sert dans mes différents projets.
Cependant, il y a une question à laquelle je n'ai jamais pu répondre :
comment font les autres développeurs (je programme en dilettante,
débuttant en c++. Ce n'est pas mon métier) chevronnés pour organiser
leur sources.

Plus particulièrement, le fichier d'en-tête qui servira à inclure dans
d'autre projets. Un exemple sera peut-être plus parlant pour préciser
ma pensée. Soit une classe qu'on souhaite exporter. Voici comment je la
déclare dans le fichier library.h (fichier qui servira lors de
l'utilisation de la lib).

#ifdef LIB_EXPORTS
#define LIB_API __declspec(dllexport)
#else
#define LIB_API __declspec(dllimport)
#endif

class LIB_API foo {
private:
int x;
public:
foo(void);
};

Le pb, c'est que je ne souhaite pas que mes membres private soient
visiblent pour l'utilisateur de la lib.

Les "meilleurs pratiques" indiquent-elles qu'il faut écrire 2 fois le
fichier en-tête (1 pour la compil de la lib, l'autre pour
l'utilisation).

Merci de cos conseils
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Serge Paccalin
Le #20669531
Le Tue, 01 Dec 2009 10:34:42 +0100, VB a écrit
(dans  dans fr.comp.lang.c++) :

class LIB_API foo {
private:
int x;
public:
foo(void);
};

Le pb, c'est que je ne souhaite pas que mes membres private soient
visible[s] pour l'utilisateur de la lib.



C'est normal.

Les "meilleurs pratiques" indiquent-elles qu'il faut écrire 2 fois le
fichier en-tête (1 pour la compil de la lib, l'autre pour



Les meilleures pratiques, ici, c'est le parefeu de compilation, ou
/pimpl idiom/.

On coupe l'objet en deux, un public et un privé ; l'objet public, le
seul connu des utilisateurs, contient uniquement un pointeur vers
l'objet privé.

--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
VB
Le #20671241
> Les meilleures pratiques, ici, c'est le parefeu de compilation, ou
/pimpl idiom/.

On coupe l'objet en deux, un public et un privé ; l'objet public, le
seul connu des utilisateurs, contient uniquement un pointeur vers
l'objet privé.



Merci de votre réponse. J'ai commencé à regarder les quelques résultats
fournis par Google sur le sujet, ça n'a pas l'air trivial, vue de mon
niveau. Je vais tout de même essayer de me lancer et de m'y tenir.
Publicité
Poster une réponse
Anonyme