Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将xfunction指针转换为Java数组?_Java_Arrays_Pointers_Jna - Fatal编程技术网

如何将xfunction指针转换为Java数组?

如何将xfunction指针转换为Java数组?,java,arrays,pointers,jna,Java,Arrays,Pointers,Jna,我有一个Java应用程序,它将指向函数的指针(回调)发送到一些本机dll内核。 我使用xfunction库对本机代码进行操作。我必须将int*指针作为回调体中的整数数组来处理。事实上,我有com.excelsior.xFunction.Pointer对象。我需要一些技巧来转换com.excelsior.xFunction.Pointer=>int[]数组。 JNA库是否可以提供帮助(使用com.sun.JNA.Pointer、IntByReference) 例如,com.excelsior.xF

我有一个Java应用程序,它将指向函数的指针(回调)发送到一些本机dll内核。 我使用xfunction库对本机代码进行操作。我必须将int*指针作为回调体中的整数数组来处理。事实上,我有com.excelsior.xFunction.Pointer对象。我需要一些技巧来转换com.excelsior.xFunction.Pointer=>int[]数组。 JNA库是否可以提供帮助(使用com.sun.JNA.Pointer、IntByReference)

例如,com.excelsior.xFunction.Pointer=>com.sun.jna.Pointer=>int[]数组。
我不想为了消除对xfunction的调用而重写代码。

xfunction似乎不具备恢复本机指针的能力。由于它不是开源的,而且他们的falgship产品是Java模糊器,我认为您已经被卡住了,无法执行com.excelsior.xFunction.Pointer=>com.sun.jna.Pointer

所以,正如他们所说():

我们[…]鼓励您先看看JNA

我认为你最好在完整的JNA中重新编码应用程序的这一部分,以完成你想要的。。。或者使用XFunction

无论如何,如果您设法找到一种方法取回XFunction的本机指针,只需将其转换为Java
long
,并将其传递给JNA,然后就可以了 在纯Java中获取数组的方法