JavaTM Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the JavaTM virtual machine* into native applications. The primary goal is binary compatibility of native method libraries across all Java virtual machine implementations on a given platform. 以下内容收集自互联网,在Java的文档里也有关于JNI的详细说明 Microsoft Windows XP Professional Version 2002 Service Pack 3 1 编写Java代码 JNIEXPORT void JNICALL Java_Hello_sayHello(JNIEnv *env, jobject obj)
java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
Microsoft Visual C++ 6.0
public class Hello
{
static
{
System.loadLibrary("hello"); // 加载后面要生成的dll
}
public native void sayHello(); // native方法不需要实现
public static void main(String[] args)
{
new Hello().sayHello();
}
}
2 编译Java代码:javac Hello.java
3 生成头文件:javah Hello
生成的头文件里有一个函数原型:
JNIEXPORT void JNICALL Java_Hello_sayHello(JNIEnv *, jobject);
这个函数就对应前面Java代码中的sayHello方法
4 实现函数
#include "jni.h"
{
printf("Hello, JNI!/n");
}
将这段代码保存,例如保存为Hello.c
必须引用jni.h,这个文件在jdk里面,例如D:/jdk1.6/include里
5 生成dll
运行VC的Bin目录下的文件VCVARS32.BAT,将VC加入环境变量。运行命令
cl -I D:/jdk1.6/include -I D:/jdk1.6/include/win32 -LD Hello.c -Fehello.dll
-Fe之后的hello.dll就是Java代码System.loadLibrary("hello")要载入的dll
6 运行Java代码:java Hello
JNI - Java Native Interface
最新推荐文章于 2025-12-01 13:49:36 发布
本文介绍如何使用Java Native Interface (JNI)来编写本地方法并嵌入Java虚拟机到本地应用程序中。通过六个步骤,从编写Java代码到最终运行Java程序,详细展示了JNI的工作流程。
758

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



