[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]
No Subject
- To:
- From: Pierre Sarrazin <>
- Date: Tue, 30 Mar 1999 14:38:48 -0500
- Sender:
J'essaie de créer une librairie partagée en C++, que je
pourrais charger sur commande avec dlopen(). Mon problème
actuel est que les constructeurs des variables globales
ne sont pas appelés.
Par exemple, si le code suivant est celui de la librairie
partagée, on voudrait que fonction() retourne 42. Cependant,
comme C::C() n'est pas appelé pour 'varglob', son champ 'n'
demeure zéro.
class C
{
public:
int n;
C() : n(42) {}
};
C varglob;
int fonction()
{
return varglob.n; // devrait retourner 42
}
Comment construit-on et/ou charge-t-on une librairie
dynamique en C++ sous Linux pour que les constructeurs de
ses variables globales soient appelés dès le chargement?