美文网首页
Windows下JNI的使用教程

Windows下JNI的使用教程

作者: 海人为记 | 来源:发表于2018-07-15 16:53 被阅读10次

JNI的使用大致有以下4个步骤:

  • 在Java中写native方法
  • 用javah命令生成C/C++头文件
  • 写对应的C/C++程序实现头文件中声明的方法,并编译成库文件
  • 在Java中加载这个库文件并使用

工具:

  1. Eclipse for Java
  2. Visual Studio 2015
    依赖:
    JDK和JRE:1.8.0_144版本

步骤:

在Eclipse新建一个java项目

添加一个java类,放在com.test包下

注意:java代码都不要放到默认包下(就是不写package语句就会放到默认包),默认包下的方法在其他地方都不能调用!!
写native方法,native方法就是声明一个非java实现的方法,比如用C/C++实现

package com.test;
public class HelloNative {
    static {
        System.out.println("HelloNative");
    }
    public static native void sayHello();

在Eclipse生成,此时在项目目录或生成对应的.class文件,Eclipse会将.class文件放在项目目录的bin文件夹下

JNI-bin.png
打开cmd,进入bin目录 javah com.jni.png
运行javah命令,生成C/C++头文件,注意要带上java包名
注意:此处是在bin目录运行javah,不能进入com/test下来运行javah,否则不能生成头文件。* JNI-bin.png
此时在bin目录下生成了com_test_HelloNative.h头文件
生成.h头文件.png

头文件内容如下:

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_test_HelloNative */

#ifndef _Included_com_test_HelloNative
#define _Included_com_test_HelloNative
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_test_HelloNative
 * Method:    sayHello
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_test_HelloNative_sayHello
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif

相关文章

网友评论

      本文标题:Windows下JNI的使用教程

      本文链接:https://www.haomeiwen.com/subject/hrbppftx.html