windows下Java JNI测试Demo

    关于Linux下使用gcc编译动态库.so文件在上一篇已经介绍过,现在来讲讲如何在windows平台下。前面很多步骤都跟在linux环境下一样,javah生成头文件,建立java程序。区别就是,现在在windows环境下,我用eclipse开发java,用vs2015编译动态库。

    步骤1:eclipse下建立java工程,使用的native方法接受两个整型参数。


    步骤2,生成本地方法头文件


    步骤3,在vs 2015建立一个动态链接库工程,在源代码中头文件字目录下将步骤2生成代码拷贝到新建的头文件中,并在源码子目录下新建.cpp文件,实现业务。关于env变量的使用在.c文件和.cpp文件是有区别的,这点在linux下的java jni测试那篇比较的最后有提到过。



    码这两个文件的时候必定会加载头文件失败,因为你还没有指定jdk/include和jdk/include/win32这两个头文件所在目录。操作:在vs里右键你的项目--属性(property),看到C/C++下的General,截图左上角是你的工程名,右边箭头所指的地方原本是空白的,点击可以添加额外目录,就是在这里把jdk的头文件的目录添上。


    步骤4:运行vs,生成dll文件,将dll文件拷贝至你的eclipse的java工程根目录下。刷新下就能看到对应的dll文件,还是强调下,生成的dll名要和你的java代码中loadLibrary的库名一致。运行结果,在控制台看到正确输出。


    补充:事实上,对于64位jdk来说,因为vs工程默认生成32位的dll库,这样你生成的dll其实无法在eclipse中使用。如果让vs生成64位的dll文件呢?如下图所示,右键你的vs工程,点击红色椭圆中的配置管理,弹出对话框,将箭头所指的平台由x86换成x64即可。进行这一步之后,别忘了将步骤3中的jdk导入路径工作重复一遍。这样生成的项目目录下多了个x64子目录,在这下面的dll就是你要生成的64dll文件啦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值