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");
}
本文详细介绍了如何在Java程序中通过JNI接口调用C++实现的本地方法,包括如何在Java代码中加载DLL库、定义本地方法及在C++代码中实现方法,并使用javah工具生成头文件以确保Java与C++之间的顺利交互。
187

被折叠的 条评论
为什么被折叠?



