JNI简介(一)

JNI:Java native interface

开篇

Java是跨平台的语言,但是有时候仍然需要调用本地代码(这些代码是C/C++写的)

Sun公司提供JNIJava平台的一个功能强大的接口,这个jni接口提供了Java与操作系统本地代码互相调用的功能

最简单的Java调用C/C++代码的步骤

1首先在Java类中声明一个native的方法

2使用Javah命令生成包含native方法定义的C/C++头文件

3按照生成的C/C++头文件来写C/C++源文件

4C/C++源文件编译成动态链接库(DLL

5DLL文件加入到path环境变量下

6Java类中加载DLL,然后调用声明的native方法

 

在eclipse中创建native工程:


在cmd中:

 

这样生成了一个C/C++头文件,在c文件中引用该头文件,然后编写源文件实现,

 

注意:头文件中引用的有些头文件是jdk提供的,要到jdk下去找,比如jni.hjni_md.h

 

然后在Java中调用

 

使用JNI的二个弊端

1使用JNI,那么这个Java Application将不能跨平台了。如果要移植到别的平台上,那么native代码就需要重新进行编写

2Java是强类型语言,而C/C++不是。因此,你必须在写JNI时更加小心

总之,必须在构建Java程序的时候,尽量少用本地代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值