下面就是小编带给大家的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
个人意见,仅供参考。