做一个读卡功能需要调用第三方提供的动态链接库,对C++不了解,使用jni比较困难,采用的jna去调用dll
对方.h头文件显示返回值使用
enum ErrorCodeEnum
{
xx1=..
xx2=..
}
Exception in thread "main" java.lang.Error: Invalid memory access
按度娘的解释也试过使用int、enum、Structure去接受返回值,一直没成功
jna正常使用,或者能教育一下使用jni解决也可以。
已追
哎,又一个入了jni的坑,加我微信把,给你点之前的经验
这个需要调试一下具体什么问题,jni和c++应该没什么障碍的。
调了什么函数,你的代码怎么写的,都具体点放出来,这样别人才好帮你看问题
另外检查以下JDK跟DLL是否架构一致,例如JDK是否64位DLL是32位就运行不了,可以换一个JDK试试
用它的结果去接 Structure 因为存的是指针直接对上Java可能访问不上
https://www.cnblogs.com/lwx521/p/10552632.html 之前用jna的一些经验