0
蔭能夠通過C++來調用的DLL函數,使用這些代碼:通過JNA調用dll函數,如何處理在java中通過指針的地址?
extern "C"
{
__declspec(dllimport) void _stdcall INPWAV
(char* Rad, int radLen,
float* wavlen);
}
.
.
char rad[4];
float Wavlen;
.
.
INPWAV(rad,4,&m_Wavlen);
.
.
但我想通過JNA從Java調用它,我想知道,我該如何處理地址的傳球,就像我通過在C指針++,因爲在java中沒有指針,並且java dones不支持像C++一樣的引用調用? 目前試圖Java作爲:
public class CallDll {
public interface callNative extends Library {
public void INPWAV(char Rad, int radLen,float wavlen);
}
public static void main(String[] args) {
callNative callNative1 = (callNative)Native.loadLibrary("PROCESSWAV", callNative.class);
char rad[] = new char[4];
float Wavlen;
.
.
callNative1.INPWAV(rad,4,Wavlen);
}
}
但得到錯誤....作爲Java不接受引用調用,我怎麼能可以通過參考路過這裏??? 謝謝提前!
謝謝,會試試這個,但是我們有這個整數,字符數組嗎? –