JNI程序开发入门之高端大气上档次的Hello World

来源:互联网 发布:打印机网络连接设置 编辑:程序博客网 时间:2024/05/01 23:25

首先说明环境:win7_x64系统+jdk7+myeclipse2014

第1步下载CDT:http://www.eclipse.org/cdt/downloads.php这里需要注意的是不同的eclipse版本对应不同版本的CDT,官网下载处已经说明了该版本使用eclipse哪个版本

如果使用的是myeclipse可以到你的myeclipse安装目录readme文件夹下找到readme_eclipse.html文件打开,就可以看到第2行有写明基于的eclipse版本(比如我的写的是Release 4.3.0


第2步,安装CDT配置环境变量及eclipse:将下载的CDT以link方式安装(具体怎么安装就不说了,用eclipse的应该都知道,如果你还不知道怎样link安装插件,百度一下,你就知道),但是windows平台要注意:正常安装之后进入你的cdt插件的pliguns目录,找到org.eclipse.cdt.core.win32.x86_64_5.2.0.201402142303.jar文件(如果是32位系统就找org.eclipse.cdt.core.win32.x86_5.2.0.201402142303.jar这个文件,5.2.0.201402142303这个是版本号,你的可能和我不一样),将这个jar文件解压成文件夹形式,名称和jar的名称完全一样,然后删除原来的这个jar文件,cdt安装完成


第3步下载安装Mingw,地址:http://dldx.csdn.net/fd.php?i=795657642494697&s=0491eab6f93f6ebe22742bf01c04c692这个是64位版的,包含32位(官网的貌似是源代码,没有直接的exe文件,咱也不是专门搞c c++开发的,就免了自己编译,省事,还是给出官网地址吧http://www.mingw.org/)这个下载后解压配置环境变量,大概这个样子


配置环境变量,path里添加bin的路径(最好放在最前面,必免vs等影响),我配置了2个

path=D:\mingw64\bin;

C_INCLUDE_PATH=D:\mingw64\include;D:\mingw64\include\c++\4.8.0;D:\mingw64\include\c++\4.8.0\backward;D:\mingw64\include\c++\4.8.0\bits;D:\mingw64\include\c++\4.8.0\x86_64-w64-mingw32\bits;D:\mingw64\include\c++\4.8.0\debug;D:\mingw64\include\gdb;D:\mingw64\lib;D:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include;D:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0\include\ssp;D:\mingw64\lib\gcc\x86_64-w64-mingw32\4.8.0

说明下第2个C_INCLUDE_PATH的值其实我也不清楚到底要包含哪些类库(咱做java的,用的少,况且真正做c开发,一般安装vs全部搞定,不需要自己配),我的原则是宁可多加,也不能少加,把那些include,lib,bits,backward文件夹都加进来没错


环境变量配置完成后启动myeclipse,进入preference --> c/c++  -->  Build -->BuildVariables里,点Add添加刚才的C_INCLUDE_PATH这个环境变量,重启myeclipse(让myeclipse重新读取系统环境变量,加载刚才的C_INCLUDE_PATH里面的类库)

第4步JNI开发

1新建java项目,写个类,里面像下面这样写(具体的代码就不提供了,自己写一写才能懂):


javah命令来生成NativeTest.h头文件,如下图



myeclipse中切换到c/c++项目视图,创建步骤如下:

新建一个C project


然后新建Source Folder,把刚才的javah命令产生的头文件(我的是com_zhaopeng_jni_NativeTest.h)放在src中,再到jdk目录下把include文件夹里的jni.h和include\win32里的jni_md.h加到src中,开始写c代码:



代码如上写完后,选中该工程,点击菜单栏 project --> Build Project会在debug目录下产生libjnic.dll文件


把这个文件复制粘贴到前面的java项目根路径下,System.loadLibrary("libjnic");里填你的dll文件名称,然后直接运行


折腾了这么久,总算看到运行最牛逼的Hello World了


0 0
原创粉丝点击