1.JNI (java native interface) java本地接口
2.Java程序中,关键字用 native
3.Java代码:
package jni;
public class JNITest {
//系统去加载 HelloWorld.dll(windows下)
static {
System.loadLibrary("HelloWorld");
}
//本地方法,让c++去实现
public native void output();
public static void main(String[] args) {
JNITest jni = new JNITest();
//java中正常使用方法
jni.output();
}
}
4.用javah生成关于本地方法的头文件
切换到java的当前工程的bin目录下:javah -d . jni.JNITest
-d 表示生成到什么目录
. 表示到当前目录
jni.JNITest 表示包jni下的JNITest(该JNITest是一个class文件)
生成的头文件为:jni_JNITest.h,将该头文件copy到c++工程的目录中
5.c++代码:
#include "stdafx.h"
#include "jni_JNITest.h"
#include <stdio.h>
#include <jni.h>
JNIEXPORT void JNICALL Java_jni_JNITest_output(JNIEnv *env, jobject object)
{
printf("Hello World, JNI !\n");
}