从本机方法(Java)获取方法签名

从本机方法(Java)获取方法签名,java,dll,methods,java-native-interface,method-signature,Java,Dll,Methods,Java Native Interface,Method Signature,我正在努力在Windows中通过Java/JNI调用本机方法。基本的都很好。我的问题是,我不知道其中一个方法的确切方法签名。我有它的名字 有人知道从Java端加载的DLL中获取导出方法和签名的方法吗?没有,从JNI命名约定中获得的只是导出函数的名称,即使是在库不使用RegisterNations的情况下也是如此。您还知道前两个参数是指针。从这里,您可以像对任何其他未记录的导出函数一样尝试反汇编该函数。您不知道在运行时之前要调用哪个方法吗?我想这是您希望在native.dllAnd中执行的操作。如

我正在努力在Windows中通过Java/JNI调用本机方法。基本的都很好。我的问题是,我不知道其中一个方法的确切方法签名。我有它的名字


有人知道从Java端加载的DLL中获取导出方法和签名的方法吗?

没有,从JNI命名约定中获得的只是导出函数的名称,即使是在库不使用RegisterNations的情况下也是如此。您还知道前两个参数是指针。从这里,您可以像对任何其他未记录的导出函数一样尝试反汇编该函数。

您不知道在运行时之前要调用哪个方法吗?我想这是您希望在native.dllAnd中执行的操作。如果您在运行时知道方法的正确签名,您会怎么做?以这种方式调用函数非常困难,除非您希望创建所有可能参数的可能排列。。没有什么好主意。我不明白为什么不能从导出表中查找sig并使用它?您是想在Java端创建本机方法,还是已经可以访问Java端的本机接口?如果您这样做,您可以在整个反射过程中查询所有java重载方法。这不是运行时问题,而是试图在没有适当文档的情况下从DLL了解可用的方法。可能重复