社区
Java
帖子详情
Java用JNA调用C++dll : Invalid memory access
欲说还休,却道天凉好个秋
2017-10-19 11:46:00
Java调用C++DLL
同一个dll 第一个方法调用成功,第二方法就报错
Exception in thread "main" java.lang.Error: Invalid memory access
在网上找很多说dll路径问题, 参数数据类型转换问题。。。。
这是我调用的dll的头文件
调用dll的源文件
Java程序员参照网上的列子写的C++, 第一次写C++程序
请求大神指点。。。。。。。。。。 已经纠结一天多了。
...全文
4941
7
打赏
收藏
Java用JNA调用C++dll : Invalid memory access
Java调用C++DLL 同一个dll 第一个方法调用成功,第二方法就报错 Exception in thread "main" java.lang.Error: Invalid memory access 在网上找很多说dll路径问题, 参数数据类型转换问题。。。。 这是我调用的dll的头文件 调用dll的源文件 Java程序员参照网上的列子写的C++, 第一次写C++程序 请求大神指点。。。。。。。。。。 已经纠结一天多了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yg_pro
2018-08-04
打赏
举报
回复
1
引用 6 楼 yg_pro 的回复:
java代码
c代码
exception
这个问题解决了 是最后iMaxLength的int类型给的不对,c中应该是int*,java对应的应该是IntegerByReference
yg_pro
2018-05-16
打赏
举报
回复
java代码
c代码
exception
ephnYZnq
2018-01-04
打赏
举报
回复
哥们,解决了吗,我也遇到同样的问题了。
欲说还休,却道天凉好个秋
2017-10-19
打赏
举报
回复
大神们不要潜水呀
欲说还休,却道天凉好个秋
2017-10-19
打赏
举报
回复
欲说还休,却道天凉好个秋
2017-10-19
打赏
举报
回复
第一张图错了,
开始我以为项目名称的原因所有在解决方案下面建了两个项目ConsoleApplication1 和 NullProject 里面的实现都是一样
m0_50298194
2021-07-29
举报
回复
@欲说还休,却道天凉好个秋
什么意思,问题解决了吗
使用
JNA
替代JNI
调用
DLL
,并解决内存溢出问题
问题描述: 在开发项目过程中,需要处理算法分析出来二进制流数据,并对数据解析处理转发。我们上层应用平台是使用
java
开发的,但开放平台是使用
c++
开发,虽提供给我们对应的.h头文件,但在
java
中来解析这些数据就显然有些复杂,在实现、效率上都可能不太理想。 解决方案: 请
C++
同事帮忙写个
dll
程序,
dll
去解析开发平台输出的二进制流数据,上层应用平台
调用
dll
得到json报文,然后再去做一些业务处理。 那现在上层应用面临的问题:访问
java
外部功能接口实现方式(即
调用
dll
)怎么选择及实现?
JNA
-3.5.1
Java
Native
Access
JNA
_3.5.1 包含两个文件
jna
-3.5.1.jar platform-3.5.1.jar 需要的就下载吧
Java
用
JNA
调用
dll
:
Invalid
memory
access
Java
用
JNA
调用
dll
:
Invalid
memory
access
问题描述
java
通过
JNA
调用
C/
C++
dll
时,报
Invalid
memory
access
问题原因 经过分析原因是数据类型不匹配问题 int &a 和 a 的区别 C语言中的a是一个变量,储存着值。&a是常量,是变量a的内存地址。一般的&a是用来赋值给指针的(int *p=&a ;),或者是作为函数的参数传递(地址传递) 在
java
中对应&a 指针地址的...
Java
利用
JNA
调用
dll
动态函数库
原理说明: 因为c#代码是托管到.net平台上的,所以
java
不能直接
调用
c#代码,于是引入
C++
中间件,
c++
项目可以设置项目为clr公共运行时,从而通过引用的方式
调用
c#相应方法。而
jna
是可以直接
调用
c++
生成的
dll
的,于是大致流程就走通了。
c++
调用
写好的c#
dll
,
java
再
调用
c++
生成的
dll
中间件,大致流程就是这样了。 (前面生成
DLL
文件,
c++
和c#全部工作有专门人完成) 这个BUG是我遇到用时最久的问题。 报错了【无效的内存访问】,因为
java
找到了
c++
dll
,但.
java
使用
jna
调用
so,
dll
动态库最新
前言 一、
Jna
是什么? 二、问题整理 1.linux 读取不到so动态库 2.函数名不对出现的异常 3.
Java
使用
JNA
调用
dll
出现
Invalid
memory
access
错误 4.64位
调用
32为
dll
找不到问题 总结 前言
java
调用
so,
dll
相关问题整理 jdk 1.8
jna
4.1.0 一、
Jna
是什么? 提到
JNA
就不得不提一下JNI(
Java
Native Interface),有过不同语言间通信开发经历的一般都知道,它允许ja......
Java
50,886
社区成员
85,727
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章