我有一个Java Native Access的问题:我有一个带有一个函数的C库,让我们说foo().这个函数有一个内存 - 一个计数器 - 每次调用都会增加.是否可以在同一个java进程中创建此库的两个实例,以便计数器是独立的?
非常感谢你.
这是一些代码:
public class A
{
public static class Lib
{
NativeLibrary libInstance = NativeLibrary.getInstance("myLibrary");
Function fn = lib.getFunction("foo");
}
private Lib lib = new Lib();
public foo()
{
lib.fn.invoke(new Object[] {});
}
}
Run Code Online (Sandbox Code Playgroud)
如果我打电话:
A a = new A();
A b = new A();
a.foo(); // >1
a.foo(); // >2
b.foo(); // >3
a.foo(); // >4
b.foo(); // >5
a.foo(); // >6
Run Code Online (Sandbox Code Playgroud)
但我想让a和b独立于图书馆工作:
a.foo(); // >1
a.foo(); // >2
b.foo(); // >1 …Run Code Online (Sandbox Code Playgroud)