Java学习篇之---JNI简单实现(续)

上篇文章中,在生成头文件的时候出了个岔子,好在功夫不负有心人,最终困难被克服了!

下面我接着来写步骤二的第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()方法:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值