jna问题求教

DUTEddy 2018-12-03 03:12:18
现在需要使用java调用一个C++导出的dll。

C++中的方法声明如下:

ISample* __stdcall GetSample();

ISample本身是C++中声明的一个接口,也就是个纯虚类。我在Java中对应的代码如下。

public interface ISample extends Library {

ISample instance = (ISample) Native.loadLibrary("apiname", ISample.class);

public Pointer GetSample();
}

调用是可以成功的,但是我获取到了方法的返回值,是个Pointer类型,我怎么才能把他给恢复成一个接口对象来让我调用呢,去调用ISample里声明的那些方法呢?这个ISample是需要做类型映射吗?代码得怎么写?
...全文
44 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧