2 u010477502 u010477502 于 2016.01.26 13:41 提问

JNA char * out 回传的JAVA
jna

char *Out是要输出的数据,传到JAVA层,请问如何实现呢?目前我试了byte[ ] 、
ByteByReference[ ] 还是无法拿到回来的数据,故前来求助!

2个回答

chen956
chen956   2016.01.26 13:45

使用string就可以,java中string对应c/c++中的char*

u010477502
u010477502 不行
2 年多之前 回复
chen956
chen956   2016.01.26 15:12

那你看看github里面关于每种类型的一些demo吧https://github.com/java-native-access/jna/tree/master/test/com/sun/jna

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java 调用 C/C++ 之 JNA 系列实战篇 —— 输出char * (六)
一、 工作环境             1. windows (64位), JDK (64位),dll文件 (64位)         2. Linux (64位),      JDK (64位),so文件 (64位)             3. JNA的官方资源路径为https://github.com/twall/jna/ 二、 实际操作         1.在
JNA 如何接收C层返回的char**数据
JNA用了很长时间,回头想想没什么印象,还是得记下来啊
JNA 中的unsigned 类型映射
做JNA的时候遇到了unsigned int如何映射的问题,因为java中没有unsigned 类型,还在想要不要就用普通的int型,然后最后取abs一下 尝试了一下,发现最后返回的值不对。 DLL中的代码如下: unsigned int add(unsigned int first,unsigned int second) { printf("(c) test jna :
Java 通过 JNA 调用 DLL 返回 char * 字符串乱码问题的解决
最近一个 Java 项目需要调用公司的读卡器读取卡号。C 开发提供了一个读取卡号的 DLL。     Java 调用 DLL 无非三种方法:JNI、JNA、JNative     本来 C 开发测试时用了 JNative.jar 来调用 DLL,但是网路上的 JNative.jar 都是基于 32 位系统,其 jar 包中的两个 DLL 也均为 32 位。     在我本地尝试时都报错:
JNA中几种返回字符串效果
PAnsiChar,String,Pchar.  PAnsiChar:正确返回数据 String:出现乱码 Pchar:只能获取到第一个字符
java 的jna与C/C++的对应关系
#if !defined(AFX_EDSOCKSERVERCTL_H__1FA54A89_2A76_4CA9_B42B_9584C7B73245__INCLUDED_) #define AFX_EDSOCKSERVERCTL_H__1FA54A89_2A76_4CA9_B42B_9584C7B73245__INCLUDED_ #if _MSC_VER > 1000 #pragma once #e
JNA类型映射实例__结构体中包含字符串数组
JNA类型映射,C结构体中包含 字符串数组时的映射。
java 调c写的dll 指针参数返回问题 char* PointerByReference创建 Pointer
java 调c写的dll 指针参数返回问题 char* PointerByReference创建 Pointer
JNA实战笔记汇总<二> JNA和C/C++的数据类型转换
简介先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可。首先看下JNI调用C/C++的过程,注意写程序时自下而上,调用时自上而下。可 见步骤非常的多,很麻烦,使用JNI调用.dll/.so共享库都能体会到这个痛苦的过程。如果已有一个编译好的.dll/.so文件,如果使用J
jna调用原生代码——传递参数
用java做个小玩意,需要调用windows操作系统的动态链接库提供的API函数。 选来选去最终决定用jna实现调用,简单方便。   这个过程中遇到的最大障碍就是怎么传递函数的参数! 整理了一些jna与__stdcall调用约定的库的数据对应表     其中值得注意的: 1:c\c++中有无符号整数,java中没有,传递接受无符号的数据时要做转换。 例子:unsigned i