Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Organisation des sources librairies

2 réponses
Avatar
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

2 réponses

Avatar
Serge Paccalin
Le Tue, 01 Dec 2009 10:34:42 +0100, VB a écrit
(dans <news:hf2nvi$m9k$, posté
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
Avatar
VB
> 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.