Java 如何使用jna将char*映射到字符串或指针
当我试图将char*映射到字符串、指针或ByteBuff时,出现了一个问题 我们用C语言声明了一个函数,如下所示Java 如何使用jna将char*映射到字符串或指针,java,c++,dll,jna,Java,C++,Dll,Jna,当我试图将char*映射到字符串、指针或ByteBuff时,出现了一个问题 我们用C语言声明了一个函数,如下所示 long A_Connect(OUT char*x) 实际上,在我们执行这个函数之后,变量x将得到一个值 但是当我尝试从JAVA获取值时,它只得到一个空字符串,我尝试了不同的JAVA函数,如: NativeLong A_Connect(String x); NativeLong A_Connect(Pointer x); NativeLong A_Connect(byte[] x
long A_Connect(OUT char*x)代码>
实际上,在我们执行这个函数之后,变量x将得到一个值
但是当我尝试从JAVA获取值时,它只得到一个空字符串,我尝试了不同的JAVA函数,如:
NativeLong A_Connect(String x);
NativeLong A_Connect(Pointer x);
NativeLong A_Connect(byte[] x);
如果有人能帮我们解决这个问题,我将不胜感激。在这里输入code
这是关于C的,不是C,而是相同的想法。你怎么知道字符串中有多少个字符?谁在为它分配内存?尝试使用新内存(12345)
分配内存(不确定有多少)
并将该内存缓冲区作为参数传递,在返回值上使用getString()
。