Java固有接口JNI(Java Native Interface)之HelloWorld

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java固有接口JNI(Java Native Interface)之HelloWorld相关的知识,希望对你有一定的参考价值。

1、编写java程序

public class HelloWorld {
    public native void displayHelloWorld();//所有native关键词修饰的都是对本地的声明
    static {
        System.loadLibrary("hello");//载入本地库
    }
    public static void main(String[] args) {
        new HelloWorld().displayHelloWorld();
    }
}

2、编译

javac HelloWorld.java 

3、生成扩展名为h的头文件

javah HelloWorld

4、编写本地方法实现和由javah命令生成的头文件里面声明的方法名相同的方法。

#include"jni.h"
#include"HelloWorld.h"
 
//#includeotherheaders
 
JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv*env,jobject obj)
{
printf("Helloworld!\n");
return;
}

5、编写pro文件

TARGET = hello
TEMPLATE = lib
LANGUAGE = c++
CONFIG -= qt
CONFIG += warn_off dll

INCLUDEPATH     += $$(java_home)\include					$$(java_home)\include\win32
HEADERS = HelloWorld.h
SOURCES = HelloWorldImpl.c

6、编译动态链接库

qmake
nmake

7、运行程序  

java HelloWorld

即可在控制台进行输出。 

以上是关于Java固有接口JNI(Java Native Interface)之HelloWorld的主要内容,如果未能解决你的问题,请参考以下文章

Java JNI实现调用自定义Native 方法

java native关键字

java中native方法的使用

Android 中Native方法是怎样调用的

转:java native

Android JNI浅析Java和Native通信对象的传值和回调