2011-04-22 136 views
0

我有一個Java程序,使JNI調用到我編譯的C++ DLL。這工作正常。然而,爲了將我的Java程序集成到一個C++ GUI中,我正在研究(不要問爲什麼我需要這樣做),我試圖在C++ JNI調用中包裝該Java代碼。實際上,我正在嘗試:C++ JNI調用Java,使JNI調用到不同的C + + DLL

C++代碼使JNI調用Java。 (這工作正常) Java對我編譯的另一個C++ DLL進行JNI調用。

我可以在Java中加載C++ DLL沒有問題,但是當我嘗試對C++ DLL進行第二次JNI調用時,它似乎靜靜地忽略了這個調用,並立即退出Java函數而沒有完成它,但它確實返回到原來的C++代碼並完成執行正常(所以它不會崩潰)。

是否可以做我想做的事情?有什麼特別的我需要做的加載C + + DLL(它也依賴於其他的DLL,但這些都在我的路徑)?

感謝, -Zach

回答

0

沒關係,想通了。從C++通過JNI調用到Java,然後再通過JNI再調用到不同的C++ DLL是可能的,我只需要將所有的DLL和jar都放在正確的路徑上。