我正在尝试使用JNA访问第三方c ++ DLL。我查看了可用的JNA文档和一些了解JNA的博客。
但现在我遇到了问题。我拥有的DLL中有多个类。函数在类中定义。所以有层次结构。那我该如何访问这些功能呢?
例如我有一个名为“abc.dll”的DLL。在这个dll中我有类“pqrs”,在该类中有一个名为xyz()
的函数。我想访问xyz()
功能。
到目前为止,我能够成功加载abc.dll,如下所示:
abc abcDLL = (abc) Native.loadLibrary("abc", abc.class);
我创建了一个这样的界面:
public interface abc extends Library {
void xyz(); // this is wrong because "xyz" is not directly "abc.dll" but inside the class "pqrs" which is inside abc.dll
}
并且像这样在dll中有多个类。我在网上搜索了很多这方面的内容。但找不到解决方案。我遇到了这些帖子:
但没人在那里回答。