我在VS2013中使用此源代码(c ++)获得了为x64编译的.dll(与我当前的java安装相同):
namespace jdlltest
{
int aconst()
{
return 108;
}
}
现在我尝试使用JNA加载它:
interface jdll extends Library
{
jdll inst=(jdll)Native.loadLibrary("jdll",jdll.class);
int aconst();
}
即使我尝试将该功能移到命名空间之外,我也找不到找到方法的错误。我也尝试过使用System.loadLibrary()函数,但我不知道它是如何工作的,因为根本没有解释,所以这是我的尝试:
public class Main
{
public native int aconst();
public static void main(String[] string)
{
System.loadLibrary("jdll");
new Main().aconst();
}
}
当函数不在命名空间中时,这又完成了,它没有处理类似的错误。由于我是新手,我有多个问题: