如何用Java中的指针传递Void参数以及如何为此编写JNI?

时间:2012-02-08 08:22:38

标签: java java-native-interface

我有一个Native程序的函数名,它接受一个void指针作为一个参数

int HelloWorld(void *,int); 

如何为此CPP方法编写JNI?另外,如何用Java指针传递Void参数?请帮忙

1 个答案:

答案 0 :(得分:0)

Void在概念上是void类型的包装。

如果您查看ByteBuffer,它会使用long地址,该地址在C中变为jlong,可以转换为您选择的指针。仅当您不希望能够在Java中访问指针的内容时,这才适用。

如果这样做,可以选择使用ByteBuffer使数据在Java中可见。 (但它是一个黑客都一样)