使用 Jni 调用 Dll 的实现(使用VS2008 生成Dll)
前言
-----------------------本前言来自网络--------------------------
JNI技术的出现主要是基于三个方面的应用需求:
1. 解决性能问题?
2. 解决本机平台接口调用问题
3. 嵌入式开发应用
-------------------------前言结束--------------------------------
?
下面动手来实现使用Jni调用本地方法,本实例演示 Java 调用 Native 本地方法传递参数并且返回结果。具体内容如下:
?
第一步:编写Java端代码
定义一个Java类
----------------------------------------------
?
?----------------------------------------------
?
第二步:生成DLL库
1. 打开VS2008,创建一个名称为TestNativeDemoCpp的C++ Win32项目。在向导的应用程序类型处选择DLL,点完成。设置Release+Win32编译配置。
2. 将签名生成的TestNativeDemo.h文件拷贝到TestNativeDemoCpp项目的根目录下,然后在VS中右键头文件文件夹添加现有项把这个头文件包含进来,接下来就是编辑TestNativeDemoCpp.cpp文件。
----------------------------------------------
?----------------------------------------------
3. VS开发环境默认不会识别jni.h头文件,在JDK中找到jni.h,并添加jni.h所在目录到当前工作路径:右键项目,属性-通用属性-C/C++-常规项在右边的附加包含目录中把%JAVA_HOME%/include和%JAVA_HOME%/include/win32加进来。
4. 右键项目的资源文件加入资源-版本信息。编译项目,在项目的Release下面找到TestNativeDemoCpp.dll文件,也有可能在项目的上层目录的release下边,跟设置有关。
?
第三步:运行Java调用DLL程序
把第二步产生的TestNativeDemoCpp.dll文件拷贝到第一步产生TestNativeDemo.class的同一目录。
执行命令:java TestNativeDemo
输出:Hello,JniTestNativeDemo.testJni=Hello,Jni
?
-----------------------结束--------------------------