多语言展示
当前在线:1317今日阅读:91今日分享:37

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

下面就是小编带给大家的java使用jna调用c语言如何获得输出参数方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看。
方法/步骤
1

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

3

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

4

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

5

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

6

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

注意事项
1

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。

2

个人意见,仅供参考。

推荐信息