从理论上讲,如果将库编译为与位置无关的代码(
-fPIC),则可以加载两次。
在某些Unices上,
dlopen如果加载程序有一个
RTLD_PRIVATE标志,或者通过具有相同符号的两个“不同”库副本(将其放在两个不同的路径上,则它可以返回第一个文件句柄),然后可以对该库执行两次操作,并使用打开它们
RTLD_LOCAL。
我对Windows共享库一无所知。甚至不可能。

从理论上讲,如果将库编译为与位置无关的代码(
-fPIC),则可以加载两次。
在某些Unices上,
dlopen如果加载程序有一个
RTLD_PRIVATE标志,或者通过具有相同符号的两个“不同”库副本(将其放在两个不同的路径上,则它可以返回第一个文件句柄),然后可以对该库执行两次操作,并使用打开它们
RTLD_LOCAL。
我对Windows共享库一无所知。甚至不可能。