jna 如何调用此C语言写的dll中的方法?里面有输出参数

C:client_sdk_send_return(intloginfd,char*send_data,unsignedintsend_size,OUTchar*recv_... C:client_sdk_send_return(int loginfd, char* send_data
, unsigned int send_size, OUT char* recv_data
, IN OUT unsigned int* recv_size);
引出来是这么写的
public boolean client_sdk_send_return(int loginfd, byte[] send_data, int send_size, byte[] recv_data ,IntByReference recv_size);

调用是这么写的
byte[] recv = new byte[0xFF];
IntByReference retlength = null;
boolean bret = CLS_MiddlewareSdk.clientsdk.client_sdk_send_return(loginfd, CLS_MiddlewareSdk.toutf8(json.toString()), CLS_MiddlewareSdk.toutf8(json.toString()).length + 1, recv, retlength);

运行后java和tomcat都崩了。大家帮忙看看什么问题
展开
 我来答
khlerc
2012-11-28 · TA获得超过420个赞
知道小有建树答主
回答量:485
采纳率:0%
帮助的人:272万
展开全部
你先在C环境下调用client_sdk_send_return()函数进行测试,确保不是此函数本身导致的问题。
如果不是,再检查包装函数时是否参数传递有误。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式