java调用c编写的dll库的问题?
我手上有个dll库和.h文件
现在的问题是库里面的函数名和我用javah反编译java的类文件得到的函数名不一样
例如:java文件里面有public native int construct();
javah后变成... Java_JavaCop_construct(...);
而我有的那个dll的头文件里面是Java_JavaCop_construct_stub(...);
比我的版本的javah得到的函数多了个_stub,这样导致我运行程序调用dll
里面的函数时,抛出的例外如下:
java.lang.UnsatisfiedLinkError:...
请问大侠,这个问题如何解决,是不是它当时的javah和我的版本的javah不兼容的
问题导致的,那么这样看,它原来的javah的版本是jdk的那个版本?
多谢!!!急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
如何定义java里面的函数,才能用javah调用时产生和dll中一致的函数名呢?
就比如那个construct(...);
怎么改名字才能出现...construct_stub(...); ???
简单的变成construct_stub是不可以的,javah后变成...construct_1stub