2011-04-22 155 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都放在正确的路径上。