JNA DLL 中方法调用的问题

2018-06-24 11:49:06 +08:00
 XiLemon

只会一点基础的 C 语言,现在要通过 JNA 调用 DLL 中的函数,其他函数调用的都没问题,就下面图中的第一个函数调用报错如下:

Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'st_wsx_TvWallCallMode': 找不到指定的程序。

接口是这么写的:

public interface StWsxLibDll extends StdCallLibrary {
	
    StWsxLibDll instance = Native.loadLibrary("StWsxLib", StWsxLibDll.class);
    int st_wsx_TvWallCallMode(String pDecPuid, String pDecServerIp, int nDecServerPort, int nModelID);
    
}

我大致了解了一下

我估计是我接口写的不对,但是这个接口该怎么写,希望 V 站大佬指点一下!!!

2045 次点击
所在节点    程序员
4 条回复
ysc3839
2018-06-24 18:45:23 +08:00
XiLemon
2018-06-25 09:09:39 +08:00
@ysc3839 试了一下,能把方法调出来,估计参数传递有问题,一直返回 0,调用失败:-(,很好奇这个 char* 的参数到底该怎么传,传 String 直接 Invalid memory access,传字节数组又一直返回 0
ysc3839
2018-06-25 10:11:19 +08:00
@XiLemon 发 DLL 文档来看看。
XiLemon
2018-06-26 09:08:24 +08:00
@ysc3839 发到邮箱了 :-)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465402

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX