简单的JNI实现

来源:互联网 发布:数据库设计包括什么 编辑:程序博客网 时间:2024/06/04 08:34

最近做毕业设计,由于和JAVA相比,我更熟悉或者说更喜欢用C++来完成,但是由于我的程序必须要集成到外围的整体程序中才有实用价值,所以最后不得不考虑怎么把C++程序集成到java环境中。查阅了一些资料,结合自己的实践,实现了简单的集成。

java的帮助文档中介绍JNI时给出了一个步骤:

      编写带有native声明的方法的java类
      使用javac命令编译所编写的java类
      使用javah -jni java类名生成扩展名为h的头文件
      使用C/C++实现本地方法
      将C/C++编写的文件生成动态连接库

其中前几步都很直接,按照指南或者网上的例子程序一直做下去就行了。但是最后生成DLL文件就出现问题了。指南上说用CL命令来实现。但是一直出现这样的错误:

line warning D4024 :unrecognized source file type ‘Files2/Java/jdk1.5.0_04/include’,object file assumed

Command line warning D4024 :unrecognized source file type ‘Files2/Java/jdk1.5.0_04/include’,object file assumed
HelloWorldImp.c
HelloWorldImp.c(1) : fatal error C1083 :Cannot open include file:'jni.h':No such file or directory

上网搜索了半天,没有答案……

最后想到VC里面直接就可以创建Dll的工程。一试就可以了。哈哈。

不过这地方要注意一点:把头文件的路径设正确了。

最后把生成的dll文件拷背到.class文件同一个文件夹下。执行.class 文件------OK!

原创粉丝点击