Charger une dll dynamiquement (portable)

Soyez le premier à donner votre avis sur cette source.

Vue 8 186 fois - Téléchargée 777 fois

Description

C'est un tout petit code, juste une classe en fait, qui permet de charger des fonctions ou des objets définis dans une DLL ou une lib dynamique sous UNIX de façons portable.
En gros, on a un fichier .cpp qui contient du code à être mis dans une DLL, genre une fonction "void ma_func()", et on la charge dynamiquement depuis un exe; on peut alors, depuis cet exe, appeler ma_func().

L'avantage de ce code c'est qu'il est portable sous Linux (rajouter l'option -ldl à la compilation) et Windows, et qu'il permet d'éviter de linker le prog à la DLL au moment de la compilation (ça peut être utile, par exemple pour faire un système de plug-ins).

Codes Sources

A voir également

Ajouter un commentaire Commentaires
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 17
25 juin 2005 à 14:38
Grouper le code pour chaque systeme dans un même fichier cpp est le rendre portable ?
Je pense que ça n'amène qu'à un gros souk ingérable dès que le code deviendra volumineux, un dossier par systeme cible avrc le code spécifique à chacun me semble préférable, ensuite...
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
25 juin 2005 à 15:30
Un même fichier .h avec des inlines dans mon cas ^^

Par portable j'entends uniquement les UNIX je pense que MacOS X doit passer aussi avec libdl non?) et les Windows...

Maintenant faire un fichier par système, moi je trouve ça lourd...
darkpoulpo Messages postés 76 Date d'inscription lundi 21 mars 2005 Statut Membre Dernière intervention 29 novembre 2009
27 juin 2005 à 13:52
moi je trouve ca sympat, ce serait un bon complement pour ma gestion de plugin.
si on peut mettre une note, je le fais.
RaphAstronome Messages postés 104 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 17 août 2009
27 juin 2005 à 14:49
Oui un peu lourd mais bien ca reste corect, en tout cas merci c'est exactement le code que je cherchais a faire.

Il y aurait t'il pas quelqu'un pour le tester sous MacOS X ?
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
27 juin 2005 à 14:58
Yeah merci à vous 2 :)

Apparemment la libdl existe aussi sous MacOS X, Cf http://macosx.forked.net/showcat.php?cat=Libraries&sortmethod=reverse

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.