各位大侠,我在用jnative调用dll时,碰到一个问题,dll中一个函数如下
func(const SIPX_INST hInst, const int index,const char*& szDevice) ;
第三个参数是char*& szDevice,是一个指针的引用,我在jnative端先new 了一个Pointer传到了这个方法里,在获得szdevice时,中文显示了乱码,不知哪位大仙遇到过此类问题。
func(const SIPX_INST hInst, const int index,const char*& szDevice) ;
第三个参数是char*& szDevice,是一个指针的引用,我在jnative端先new 了一个Pointer传到了这个方法里,在获得szdevice时,中文显示了乱码,不知哪位大仙遇到过此类问题。
http://www.360doc.com/content/10/0405/14/1140236_21681987.shtml我用的是PointerByReference去替代的Pointer
(我在jnative端先new 了一个Pointer传到了这个方法里.//我的JNA无法实现new Pointer();不知道你怎么实现的)
try {
return new Pointer(MemoryBlockFactory.createMemoryBlock(4));
} catch (NativeException e) {
e.printStackTrace();
}
return null;
}
用这个函数来创建新的指针
上边是用jnative创建的pointer,我没用JNA,你的意思是JNA和Jnative一起用么,用Jnative创建指针后,传到JNA的PointerByReference,比如PointerByReference pp = new PointerByReference(pointer);这样jnative的pointer怎么转换成JNA的pointer呢