JNI技术学习(一):在Java中调用C++/C代码

本文详细介绍了如何借助JNI在Java应用中调用C++代码,包括编写带有native关键字的Java代码,生成头文件,创建C++工程,编写C++代码,生成dll文件,以及配置Java项目的 native library location。最后,文章提到了解决64位JDK与32位dll不匹配问题的方法。
摘要由CSDN通过智能技术生成

博主近期在实习,遇到一个需要,就是如何在JAVA代码中调用C++的算法。背景:已经有封装好的C++算法,然后现在要用JAVA语言编写一个平台,要在平台中调用已经写好的C++代码。这里我们就要借助:JNI。
JNI是Java Native Interface的缩写,它是JDK的一部分,提供了若干的API实现Java和其他语言的通信(主要是C或C++)。但这种有一个缺点就是使用Java与本地已编译的代码交互,通常会丧失平台可移植性。但有一些情况下,是可以接受的,甚至是必须的。例如使用一些旧的库,或者与硬件、操作系统进行交互等。(这里要注意,JNI也可以让C++代码调用JAVA代码)
接下来我们就借助JNI实现一个简单从JAVA中调用C++代码的HelloWorld。

1. 编写JAVA代码

这里写图片描述
我们注意到,上图的代码中,出现了 native 关键字,这里,我们先介绍一下 native 关键字:

  • native关键词修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在其他语言中实现的。
  • 这里编写带有native声明的方法的java文件,就是表明了有对应其他语言实现了这些方法。

2. 生成头文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值