在Linux或OSX中动态加载库?

jma*_*erx 16 c++

我知道在Windows中你会做类似LoadLibrary的事情然后用GetProcAddress设置你的函数指针,

但是在Linux或OSX中会怎样做类似的事情呢?原因是我想为我的X平台应用程序开发一个插件系统.

谢谢

Dav*_*nan 29

您正在寻找dlopen(类似于LoadLibrary),dlclose(类似于FreeLibrary)和dlsym(类似于GetProcAddress).


Eme*_*ger 10

您可以dlopen在Linux和Mac OS X上使用和朋友(这个Mac手册页应该适用于两者).但请注意,您需要注意不要混用32位和64位代码和库; 在Mac上,只需确保这些库是"通用二进制文件".


Jan*_*ger 5

在Linux中你使用dlopen()(打开库),dlsym()(查找符号(通常是函数或值))和朋友:http://linux.die.net/man/3/dlopen

我听说它在OS X上的工作方式相同,但我对此没有经验.