开发环境 :myeclipse 6.5 +jdk1.6 +windowxp +vc++6.0
1.新建一个java web工程jni
2.新建一个不带包名的java类如下:
public class TestNative{
private native int add(int x,int y);
private native int max(int x,int y);
public static void main(String[] args) {
TestNative hh = new TestNative();
int r = hh.add(30,20);
int m=hh.max(50, 80);
System.out.println("result1 = "+r);
System.out.println("result2 = "+m);
}
static {
System.loadLibrary("DLL_0305");
}
}
3.将
jdk/include/jni.h
jdk/include/win32/jawt_md.h
jdk/include/win32/jni_md.h 三个文件拷贝到VC安装目录下的include下
4.编写dll
打开 vc++ 6.0工具 新建一个工程 选择win32 Dynamic-Link Library 命名:DLL_0305。
然后在这个工程空间下新建一个 C /C++ Head File 文件 名字:DLL.c
DLL.c的编码如下:
#include<jni.h>;
JNIEXPORT jint JNICALL Java_TestNative_add
(JNIEnv *ev, jobject obj, jint x, jint y)
{
return x+y;
}
JNIEXPORT jint JNICALL Java_TestNative_max
(JNIEnv *ev, jobject obj, jint x, jint y)
{
return x>y ? x :y;
}
5.生成dll. 菜单-组建 -组建成dll。
6.拷贝dll文件拷贝到工程的lib下。设置native library path 。详情可以参考 :http://blog.youkuaiyun.com/forandever/article/details/5983846