使用JNA访问第三方DLL

时间:2013-11-15 20:50:52

标签: java c++ dll java-native-interface jna

我正在尝试使用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中有多个类。我在网上搜索了很多这方面的内容。但找不到解决方案。我遇到了这些帖子:

但没人在那里回答。

0 个答案:

没有答案