Librairies Linux avec c++

Hwoarang -  
Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aimerais réaliser une application qui instancierait des classes definies dans une librairie .so.

Cela donnerait quelque chose comme :
Fichier principal :
class Base
{
public :
virtual void draw(void);
}

int main()
{
Base *(*createur)(int id);
void *hndl = dlopen("malib", RTLD_LAZY);

createur = dlsym(hndl, "createur");

Base *pBase = createur(0);
pBase->draw();
delete pBase;
Base *pBase = createur(1);
pBase->draw();
delete pBase;
return 0;
}

Fichier librairie :
class Cercle : public Base
{
void draw(void)
{
printf("cercle");
}
}

class Carre: public Base
{
void draw(void)
{
printf("carre");
}
}

Base *createur(int id)
{
if(id == 0)
{
return new Carre();
}
else if(if == 1)
{
return new Cercle();
}
else
{
return NULL;
}
}

Est ce que ce code pourrait marcher sous linux (aux fautes de frappe, inclusions de headers, ... pret) ? Je n'ai malheureusement pas de PC disponible avec ce systeme pour faire le test et je ne connais pas assez bien les librairies dynamiques sous linux pour m'en assurer.

Merci
A voir également:

2 réponses

Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   510
 
Essaye un live CD de Linux regarde ici ==>
0
Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   510
 
Essaye un Live CD de Linux, cela ne laissera aucune trace sur ta machine. Regarde ici ==> Obtenir Linux sur CD et aussi là Débuter sous Linux Encore ici ==> Choisir une distribution Linux Et enfin là ^^ Création d'un CDrom de boot sous Linux
0