随笔-46  评论-64  文章-2  trackbacks-0

Step1:创建带有Native方法描述的ProcessHandler.java文件

Step2javac 编译该文件,生成ProcessHandler.class文件

Step3javah ProcessHandler.class 生成pkg_ProcessHandler.h Native方法头文件,注意包名字为pkg,所以生成的方法以pkg_开头

Step4:使用Eclipse建立Managed Make C++ Project,在第二步选择Shared Library,然后把刚刚生成和的pkg_ProcessHandler.h 加入工程

Step5:实现Native方法,从头文件里面Copy出这个方法,完成具体实现,编译工程,生成dll

Step6:完成后Jni调用,注意dll库需要在系统Path里,否则会出现java.lang.UnsatisfiedLinkError: no *** in java.library.path

 

 

除了上面的路径问题,还有可能不能成功调用该 dll ,原因上 g++/gcc 编译出来的东西和 java 预期的不匹配,详细描述参考 http://www.blogjava.net/lixf/archive/2005/12/23/25177.html win32 下使用 gcc 编译供 java 调用的 dll 须知 (jni) 我也是遇到问题 Google 到这篇文章的, Solution 当然也在该文章里面

 

参考资料:

例解 VC++ 6.0 实现 JNI (非烂文)

posted on 2007-01-16 15:33 jht 阅读(328) 评论(0)  编辑  收藏 所属分类: J2SE

只有注册用户登录后才能发表评论。


网站导航: