当前位置:编程学习 > JAVA >>

jNative 访问C++动态库(dll)

各位大侠,我在用jnative调用dll时,碰到一个问题,dll中一个函数如下
func(const SIPX_INST hInst, const int index,const char*& szDevice) ;
第三个参数是char*& szDevice,是一个指针的引用,我在jnative端先new 了一个Pointer传到了这个方法里,在获得szdevice时,中文显示了乱码,不知哪位大仙遇到过此类问题。
                                                 
                                                   --------------------编程问答-------------------- 我正在弄JNA调用指针函数的问题,请问你怎么用的,能否贴出JNA程序来?关注中。。。 --------------------编程问答-------------------- 怎么回复看不见呢,楼主问题解决了吗 --------------------编程问答-------------------- 搞定了,现在把结果弄出来吧,其实很简单,开始没有认真看JNA的官网说明
http://www.360doc.com/content/10/0405/14/1140236_21681987.shtml

我用的是PointerByReference去替代的Pointer
(我在jnative端先new 了一个Pointer传到了这个方法里.

//我的JNA无法实现new Pointer();不知道你怎么实现的) --------------------编程问答--------------------
引用 3 楼 it2012it 的回复:
搞定了,现在把结果弄出来吧,其实很简单,开始没有认真看JNA的官网说明
http://www.360doc.com/content/10/0405/14/1140236_21681987.shtml

我用的是PointerByReference去替代的Pointer
(我在jnative端先new 了一个Pointer传到了这个方法里.

//我的JNA无法实现new Pointe……



private Pointer createIntPointer() {
try {
return new Pointer(MemoryBlockFactory.createMemoryBlock(4));
} catch (NativeException e) {
e.printStackTrace();
}
return null;
}
    用这个函数来创建新的指针 --------------------编程问答--------------------
引用 3 楼 it2012it 的回复:
搞定了,现在把结果弄出来吧,其实很简单,开始没有认真看JNA的官网说明
http://www.360doc.com/content/10/0405/14/1140236_21681987.shtml

我用的是PointerByReference去替代的Pointer
(我在jnative端先new 了一个Pointer传到了这个方法里.

//我的JNA无法实现new Pointe……


上边是用jnative创建的pointer,我没用JNA,你的意思是JNA和Jnative一起用么,用Jnative创建指针后,传到JNA的PointerByReference,比如PointerByReference pp = new PointerByReference(pointer);这样jnative的pointer怎么转换成JNA的pointer呢
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,