java使用jna调用c语言如何获得输出参数

 时间:2026-02-12 23:13:15

1、你先在C环境下调用client_sdk_send_return()函数进行测试,确保不是此函数本身导致的问题。如果不是,再检查包装函数时是否参数传递有误。

java使用jna调用c语言如何获得输出参数

2、再新建一个 Lib.java:import com.sun.jna.Library;public interface Lib extends Library {  int add(int a, int b);  void addArray(int[] a, int[] b, int[] c,int len);  String stringFun(String str1);

java使用jna调用c语言如何获得输出参数

3、生成dll:方法一:如果安装了MinGWf:cd MinGW/Jnagcc -Wall -shared test.c -o test.dlljavac Test.javajava Test这时目录下新生成了test.dll、Test.class、Lib.class。

java使用jna调用c语言如何获得输出参数

4、多数情况下,Java与C间的字符串传入,都是通过Java的String传入到C中的char*,但是由于Java IDE编码问题和JNA的不完善,如果传入的是中文字符,则C中函数会接收不正确。

    

java使用jna调用c语言如何获得输出参数

5、一种解决方发是,将Java IDE的编码格式设置成GBK,之后将String转化成byte[]传入C中。

java使用jna调用c语言如何获得输出参数

6、当然,在Java的JNA函数声明时,C函数的参数类型直接替换成byte[]即可,C程序中的原始函数参数依然保持char*。

java使用jna调用c语言如何获得输出参数

  • 在VS2013下编写基于MSCOMM的MFC串口通讯程序
  • Python编程:怎么修改tkinter标签的字号
  • Axure制作:注册用户名检验
  • eclipse调式出现ObjectCollectedException
  • druid sql injection violation
  • 热门搜索
    华东旅游路线 北京旅游景点路线 旅游ppt背景图片 山西旅游景点介绍 鸡冠山旅游攻略 通化旅游景点大全 温州有什么旅游景点 360旅游网 重庆市旅游景点大全 春节厦门旅游攻略