Java学习篇之---JNI简单实现(续)
来源:互联网 发布:迅雷5.8绿色优化版 编辑:程序博客网 时间:2024/06/05 01:22
上篇文章中,在生成头文件的时候出了个岔子,好在功夫不负有心人,最终困难被克服了!
下面我接着来写步骤二的第9)步:
步骤二:
9)设置64位编译平台:
打开Microsoft Visual Stutio 2008--->File--->New--->Project...--->
OK--->Next--->
Finish后会生成一个空项目:
默认是采用Win32平台,而我的操作系统是64位的,所以:
点击Configuration Manager...
默认如下图所示:
new 一个新的platform:
到此为止,64位编译平台已经设置好。
10)用c++实现sayHello()方法并将源文件编译成sayhello.dll动态链接库:
将上篇文章中费了九牛二虎之力生成的头文件,拷贝到sayhello项目下:
选中sayhello项目下的Header Files--->右键Add--->Existing Item...--->选中上图中的com_ryze_jni_test_HelloWorld.h--->这样头文件就加入到了工程中:
点击可以看到头文件中声明了一个名字很长叫做Java_com_ryze_jni_test_HelloWorld_sayHello的函数,这个函数的命名规则是Java_包名_类名_方法名
接下来就是选中项目下的Source Files--->右键Add--->New Item...--->
新建一个名字为source的c++空文件
在空文件中写下代码如下:
#include<iostream>#include"com_ryze_jni_test_HelloWorld.h"using namespace std;JNIEXPORT void JNICALL Java_com_ryze_jni_test_HelloWorld_sayHello(JNIEnv *, jobject){cout<<"Hello World !"<<endl;}
然后打开头文件,将头文件中
改写成:
然后将JDK的include目录
C:\Program Files\Java\jdk1.7.0_45\include
下的jni.h和目录
C:\Program Files\Java\jdk1.7.0_45\include\win32下的jni_md.h拷贝到项目源文件目录下
然后编译:
编译成功,此时在debug目录下生成我们需要的sayhello.dll文件:
11)将生成的sayhello.dll动态链接库加入到PATH环境变量下:
12)在java中调用动态链接库中的sayHello()方法:
- Java学习篇之---JNI简单实现(续)
- Java学习篇之---JNI简单实现
- Java基础之JNI的简单实现
- Java JNI简单实现
- Java JNI简单实现
- JAVA 本地调用(JNI)之用dev c++简单实现
- Java基础之JNI实现
- [java相关]Java JNI简单实现
- 【java学习】jni之JNIEnv*
- jni使用基础(八)之jni使用流程及C调用java简单说明
- Ndk学习之JNI构造函数(java-->C-->Java)
- Ndk学习之JNI中文问题(java-->C-->Java)
- Ndk学习之JNI获取数组(Java-->C-->Java)
- Ndk学习之JNI传入数组(java-->C)
- 【Java学习之三】用JNI实现Java和C语言的数据传递
- android JNI学习之四 JNI java c对应关系
- Jni 学习之Java调用C++
- JNI学习笔记之Java端
- linux中的正则表达式
- C语言指针学习六
- EditText电话号码格式
- 关系模式的规范化
- HDOJ find your present (2) 2095
- Java学习篇之---JNI简单实现(续)
- 嵌入式软件开发培训笔记——Java第三天(方法重载、对象的构造与初始化过程分析、封装等)
- Qt杂项笔记
- Simple Android Java & JavaScript Bridge
- 数据链路层组播报文接收问题
- Android性能优化典范(二)
- 导航栏遮盖住部分View的解析
- Java解惑精炼版(一)
- web工程各种缺少jar包报的错误