JNI实现最简单的JAVA调用C/C++代码-创新互联

JNI,是Java Native Interface的简称,中文是“Java本地调用”。通过这种技术可以做到以下两点:

10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有定边免费网站建设让你可以放心的选择与我们合作。
  1. Java程序中的函数可以调用Native语言写的函数,Native一般指的是C/C++编写的函数。
  2. 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++代码-创新互联
URL分享:http://scyanting.com/article/edoep.html