其主要过程如下:
1.编写Java代码
2.编译代码生成字节码文件
3.利用字节码文件生成C/C++头文件
4.新建VC项目
5.在项目中引入生成的头文件以及jni.h,jni_md.h
6.建立C/C++应用 .cpp文件
7.在该文件中用#include 引入生成的头文件
8.用C代码实现本地方法
9.生成dll文件
10.执行Java程序
具体操作过程:
1.Java代码:
- package com.pinus.util;
- public class Show {
- static {
- System.loadLibrary("Show");
- }
- /**
- * 弹出提示对话框
- *
- * @param message
- * 对话框的消息
- * @param title
- * 对话框的标题
- */
- public native void showDialog(String message, String title);
- public static void main(String[] args) {
- new Show().showDialog("Welcome to java Programing !", "JavaTar");
- }
- }
2.编译源代码:
3.生成头文件:
其内容如下:
- /* DO NOT EDIT THIS FILE - it is machine generated */
- #include <jni.h>
- /* Header for class com_pinus_util_Show */
- #ifndef _Included_com_pinus_util_Show
- #define _Included_com_pinus_util_Show
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Class: com_pinus_util_Show
- * Method: showDialog
- * Signature: (Ljava/lang/String;Ljava/lang/String;)V
- */
- JNIEXPORT void JNICALL Java_com_pinus_util_Show_showDialog
- (JNIEnv *, jobject, jstring, jstring);
- #ifdef __cplusplus
- }
- #endif
- #endif
4.新建VC项目:
5.引入头文件:
6.建立C/C++文件
7.引入头文件
8.实现本地方法
其内容如下:
- #include "include\com_pinus_util_Show.h"
- #include "windows.h"
- JNIEXPORT void JNICALL Java_com_pinus_util_Show_showDialog
- (JNIEnv* env, jobject, jstring mess, jstring titl){
- const jchar* message =(env)->GetStringChars(mess, 0);
- const jchar* title =(env)->GetStringChars(titl, 0);
- MessageBox(NULL,(LPCWSTR)message,(LPCWSTR)title,MB_OK);
- (env)->ReleaseStringChars( mess, message);
- (env)->ReleaseStringChars( titl, title);
- }
9.生成dll文件
10.执行Java程序: