Chargement dynamique d'une bibliothèque sous Linux ou OSX?
Je sais que dans Windows, vous feriez quelque chose comme LoadLibrary et ensuite configurer votre pointeur de fonction avec GetProcAddress,
Mais comment pourrait-être fait quelque chose de similaire sous Linux ou OSX? La raison en est que je veux développer un plug-in pour mon X une application de la plateforme.
Grâce
source d'informationauteur jmasterx
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
dlopen
et amis sur Linux et Mac OS X (ce Mac page de man devrait fonctionner pour les deux). Notez, cependant, que vous devez être prudent de ne pas mélanger les versions 32 bits et 64 bits de code et des bibliothèques, sur le Mac, assurez-vous que les bibliothèques sont "les binaires universels."Vous êtes à la recherche pour
dlopen
(analogue à la fonction LoadLibrary),dlclose
(analogue à FreeLibrary) etdlsym
(analogue à GetProcAddress).Dans Linux que vous utilisez dlopen() (open library), dlsym() (rechercher un symbole (=de la fonction ou de la valeur, généralement)) et les amis: http://linux.die.net/man/3/dlopen
J'entends, il fonctionne de la même manière sur OS X, mais je n'ai pas d'expérience avec.
POSIX équivalents sont
dlopen
etdlsym
. Je sais que Linux a eux, et je serais surpris si OS X ne prend pas.