IntelliJ idea 2018 平台下JNI编程调用C++算法(一)

参考来源:http://blog.sina.com.cn/s/blog_b37338430101f3zq.htmlhttp://www.cnblogs.com/xiaocainiao2hao/p/5619862.htmlhttps://blog.csdn.net/aslgm_1/article/details/71514617【huachao1001的专栏:http://blog...
摘要由CSDN通过智能技术生成

参考来源:

http://blog.sina.com.cn/s/blog_b37338430101f3zq.html

http://www.cnblogs.com/xiaocainiao2hao/p/5619862.html

https://blog.csdn.net/aslgm_1/article/details/71514617

huachao1001的专栏:http://blog.csdn.net/huachao1001/article/details/53906237

本文环境:IntelliJ idea2018.2+Visual Studio 2017

项目:JavaWEB+Win32控制台

声明:本人是个新手小白。因为项目是C++算法写的,但是要用网页调用,所以先学习JavaWEB调用C++程序作为尝试。参考了网上的一些教程,结合自己的理解与出现的错误,写成总结日后参考。不足之处请提出。

首先明确本文的步骤:

  1. 在Java中新建一个类。
  2. 生成JNI头文件。(此处有两种方法:2.1手动输入javah命令生成头文件、2.2 一键生成头文件)
  3. 在VS2017下引入头文件。
  4. 将dll添加进JavaWEB工程,成功运行。

1.在Java中新建类

利用IntelliJ  idea新建一个Java工程,在src中新建一个Java类,名称命名“testNative”。之后弹出testNative.java。

在testNative.java中写如下程序:

函数System.loadLibrary()是加载dll(windows)或so(Linux)库,只需名称即可,无需加入文件名后缀(.dll或.so)。

native关键字将函数sayHello()声明为本地函数,由C/C++实现。具体的实现就在hello.dll(Windows平台)或hello.so(Linux平台)中。

2.生成JNI头文件

  • 2.1 手动输入javah命令生成头文件
  • 2.2 一键生成头文件

2.1 手动输入javah命令生成头文件

JNI生成头文件是通过JDK中提供的javah来完成,javah在 {JDKHome}/bin目录中。用法如下:

javah -jni -classpath (搜寻类目录) -d (输出目录) (类名)
  •  

例如,将E:\Porject\out\com\huachao\java目录中的HelloJNI.class生成头文件,并放入到E:\Project\jni中:

javah -jni -classpath  E:\Porject\out\com\huacha
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值