日期:2014-05-20  浏览次数:20653 次

[求助]问一个有关JNI的问题
可以用JNI来实现在java中调用一个现成的dll中的api吗?  
 
在网上搜了一下,发现只能是先在java中声明好本地方法,然后javac,javah生成一个.h文件,然后根据这个.h文件中的方法声明,编写dll的c源文件,然后再用cl命令生成dll。  
 
如果一个dll文件不是按上述方法生成的,那么应该是没法在java中直接用了的吧。  
 
那么是不是可以再按上述方法用c编写一个动态链接库,在这个动态链接库里面调用给定的dll中的api呢?试了一下,不行,郁闷……  
 
也不太敢肯定不是程序别的地方出了错,明天去实验室再把报错信息贴出来吧。如果真的不行的话,还有别的解决办法吗?  
 
请各位大牛不吝赐教!不胜感激涕零!  


------解决方案--------------------
那么是不是可以再按上述方法用c编写一个动态链接库,在这个动态链接库里面调用给定的dll中的api呢?试了一下,不行,郁闷……

楼主,我可以负责任的告诉你.这个方法绝对可行.做过几个项目都是通过这种途径.
其他方法听说还有第三方的API可用.但在下还未亲身体验过:)