我有一个关于JNI实施的问题。 我理解了如何在Java中实现它的概念,但是如果你对DLL没有任何了解会发生什么。
如果您只将DLL作为文件,是否有机会知道要实现哪种方法?像Java中的反射一样?
答案 0 :(得分:0)
如果你只有一个任意的DLL而你想从Java调用它,你需要:
无法做的是通过JNI直接从Java调用任意DLL中的任意导出函数。 [你或许可以用一些JNA来管理它。]
答案 1 :(得分:0)
如果你有一个Dll文件并且你想要使用它但你不知道实现了什么方法,那没问题,但问题是没有为java本机接口(JNI)编译Dll文件。 但是如果为jni创建了Dll,你可以在知道方法之后使用依赖性walker或dll导出或使用其他实用程序找到它的方法,你可以轻松地使用为jni创建的dll。