2013-09-26 22 views
1

我想加载我的应用程序内的库,而不是链接它,而编译。我的意思是我想do'nt在编译时将其与“-lxzy”联系起来。加载共享库,而在C运行的程序,而不是链接

某物像load_library( “XYZ”);要么 .... 。我该怎么做?

+1

[dlopen的(http://pubs.opengroup.org/onlinepubs/009695399/functions/dlopen.html) – devnull

回答

2

这是可能的,但是这取决于平台做不同的。

在POSIX系统中,如Linux和OSX,可以使用dlopen打开一个动态库(文件通常在.so结束),并dlsym找到在库中的符号(如函数)。

对于Windows,使用LoadLibrary加载DLL,并GetProcAddress得到一个函数指针。

+0

我想要做的是基于UNIX操作系统 –

+0

@ alireza7991这些都是POSIX。 –