1.新建java代码 HelloWorld.java
class HelloWorld {
public native void displayHelloWorld();
static {
System.loadLibrary("hello");
}
public static void main(String[] args) {
new HelloWorld().displayHelloWorld();
}
}
2.javac HelloWorld.java
3.javah -jni HelloWorld 生成c++头文件HelloWorld.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */
#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: displayHelloWorld
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
4.实现c++头文件 HelloWorld.h的头文件 HelloWorld.cpp
#include "HelloWorld.h"
#include <iostream>
using namespace std;
JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld
(JNIEnv *, jobject){
printf("this is my jni hello,world\n");
cout<<"hello,world!"<<endl;
}
5.编译生成hello.dll动态库
工具-->选项-->source control-->include files 将jdk-->include下的头文件和win32的头文件包含进去
6.运行java HelloWorld
参考链接http://www.blogjava.net/shiliqiang/articles/287920.html