JNI实现最简单的JAVA调用C/C++代码-创新互联
JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点:
10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有定边免费网站建设让你可以放心的选择与我们合作。- Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。
- Native程序中的函数可以调用Java层的函数,也就是说在C/C++程序中可以调用Java的函数。
本篇博客带给童鞋们以下内容,学习内容来自(传智播客),经由小巫总结整理:
- javah工具的用法
- 按照C/C++头文件来编写C/C++源文件
- 将C/C++源文件编译成动态连接库(DLL)
- 在Java程序中引入动态连接库等知识
JNI并不是什么特别神奇的东西,当初SUN推出它的目的是为了屏蔽不同操作系统平台的差异性,通过Java语言来调用Native语言的功能模块,避免重复制作车轮,最主要是这两个目的。
最简单的Java调用C/C++代码,有以下步骤,童鞋们最好详细阅读,避免出现相应的错误:
- 首先在Java类中声明一个native的方法
- 使用Javah命令生成native方法的声明的C/C++头文件
- 按照生成的C/C++头文件来编写C/C++源文件
- 将C/C++源文件编译成动态链接库(DLL)
- 将DLL文件加入到PATH环境变量下
- Java类中加载DLL,然后调用声明方法
我们现在一步一步把整个流程熟悉一遍,在Eclipse中创建一个Java项目:
笔者创建了一个命为:TestNativeCode的项目,新建包名为com.wwj.nativecode,新建类为TestNativeCode
接着在TestNativeCode类当中声明我们的本地方法:
package com.wwj.nativecode; public class TestNativeCode { // 声明本地方法 public native void sayHello(); public static void main(String[] args) { // // 加载动态链接库 // System.loadLibrary("nativeCode"); // TestNativeCode nativeCode = new TestNativeCode(); // nativeCode.sayHello(); } }
当前标题:JNI实现最简单的JAVA调用C/C++代码-创新互联
转载来于:http://lswzjz.com/article/edoep.html