<b>JNI简单示例</b>[Java编程]
本文“<b>JNI简单示例</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java通过JNI调用本地系统的动态库(Windows上是dll情势,Unix中是so情势的文件).JNI的简单步骤 以下:
Step1:编写Java类,此中包含要实现的native办法.
JNITest.java:
public class JNITest{
static{
System.loadLibrary("JNITest");
}
public native void showMessageBox();
public static void main(String[] args){
JNITest jni = new JNITest();
jni.showMessageBox();
}
}
编译JNITest.java,号令:"javac JNITest.java",生成JNITest.class.
Step2:生成头文件,号令:"javah JNITest",生成头文件JNITest.h
JNITest.h:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JNITest */
#ifndef _Included_JNITest
#define _Included_JNITest
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: JNITest
* Method: showMessageBox
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_JNITest_showMessageBox
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
Step3:编写呼应的实现文件JNITest.cpp(或.c).
JNITest.cpp:
#include "JNITest.h"
#include <windows.h>
JNIEXPORT void JNICALL Java_JNITest_showMessageBox
(JNIEnv *, jobject){
::MessageBox(NULL,"This is a JNI test" , "JNI" , MB_OK);
}
Step4:将JNITest.cpp编译成dll,
号令(cl是VC6的编译号令):
"cl -If:jdkinclude -If:jdkincludewin32 -LD JNITest.cpp user32.lib - FeJNITest.dll"
Step5:运行,号令:"java JNITest".运行后会弹出一个对话框.
以上是“<b>JNI简单示例</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |