System.Load(), LoadLibrary() 可以多次加载相同动态库吗?
System.Load(), LoadLibrary() 可以多次加载相同动态库吗?
比如我有一个JNI:
public class CPPInvoker
{
public CPPInvoker(String dllFullPath)
{
System.Load(dllFullPath);
}
public native int f(int val);
}
C++实现库为C.so;
将C.so拷贝两份,分别为/tmp/1/C.so 和 /tmp/2/C.so
CPPInvoker inv1 = new CPPInvoker("/tmp/1/C.so");
CPPInvoker inv2 = new CPPInvoker("/tmp/2/C.so");
CPPInvoker inv3 = new CPPInvoker("/tmp/3/C.so");
那么inv1,inv2,inv3在调用JNI方法时,调用的C++对象是同一个?inv1一个,inv2,inv3一个?又或者是分别对应不同的C++对象?
求指导?