首先请大佬先看问题
!!测试文件,函数名SpectrumH_IDP,输入浮点型一维数组,输出1长整型,输出2浮点型一维数组.!!
现在请看我的代码 ,我自己写了个dll 跑起来没问题
jna 接口
package com.company.interJNA;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import com.sun.jna.Pointer;
public interface JNA extends Library {
// public int Transfer_Ethernet_EX(String filename,int key);
// public int Transfer_Ethernet(String filename);
JNA testdll= (JNA) Native.load("C:\\Users\\LIJIAZ\\source\\repos\\TestDll\\Release\\TESTDLL",JNA.class);
int add(int a,int b);
JNA lv= (JNA) Native.load("C:\\Users\\LIJIAZ\\Desktop\\JNA\\lvanlys",JNA.class);
long SpectrumH_IDP(Pointer xH,Long f);
}
main 主函数
package com.company.interJNA;
import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import com.sun.jna.Pointer;
public interface JNA extends Library {
// public int Transfer_Ethernet_EX(String filename,int key);
// public int Transfer_Ethernet(String filename);
JNA testdll= (JNA) Native.load("C:\\Users\\LIJIAZ\\source\\repos\\TestDll\\Release\\TESTDLL",JNA.class);
int add(int a,int b);
JNA lv= (JNA) Native.load("C:\\Users\\LIJIAZ\\Desktop\\JNA\\lvanlys",JNA.class);
long SpectrumH_IDP(Pointer xH,Long f);
}
因为我不知道 SpectrumH_IDP函数的第二个参数类型 我就乱写一些碰碰运气
报错
系统===true
dll add value=4
4
Exception in thread "main" java.lang.Error: Invalid memory access
at com.sun.jna.Native.invokeLong(Native Method)
at com.sun.jna.Function.invoke(Function.java:428)
at com.sun.jna.Function.invoke(Function.java:361)
at com.sun.jna.Library$Handler.invoke(Library.java:265)
at sun.proxy.$Proxy0.SpectrumH_IDP(Unknown Source)
at com.company.Main.main(Main.java from InputFileObject:21)
4
Process finished with exit code 1
我自己写的可以正常输出 第二个dll 网上说是类型不匹配
int32_t SpectrumH_IDP(void *xH, InstanceDataPtr *tidp
求救啊啊 大佬 弄了几周了
jna 调用 dll 文件函数有自定义参数问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-Time 2021-05-11 16:54关注
Invalid memory access at com.sun.jna.Native.invokeLong(Native Method)
应该是你参数没调用对
解决 无用评论 打赏 举报
悬赏问题
- ¥15 odoo17处理受托加工产品
- ¥15 为什么我安装了Homebrew之后,无法像官网的那样通过执行命令安装Watchman
- ¥15 圆孔衍射光强随孔径变化
- ¥15 MacBook pro m3max上用vscode运行c语言没有反应
- ¥15 ESP-PROG配置错误,ALL ONES
- ¥15 结构功能耦合指标计算
- ¥50 AI大模型精调(百度千帆、飞浆)
- ¥15 非科班怎么跑代码?如何导数据和调参
- ¥15 福州市的全人群死因监测点死亡原因报表
- ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度