您的位置:首页 > 其它

Windows平台下JNI简单示例

2011-10-25 06:32 197 查看
参考
http://java.sun.com/docs/books/jni/html/start.html#769

创建一个文件夹

用于存放源码和输出文件

创建编译Java

1、用记事本创建java源码如下(一开始不要用eclipse)

class HelloWorld {
private native void print();
public static void main(String[] args) {
new HelloWorld().print();
}
static {
System.loadLibrary("HelloWorld");
}
}
2、保存为HelloWorld.java

3、编译之



产生class文件



生成头文件

执行javah命令



生成了头文件



制作DLL

1、用VS创建一个Win32的DLL工程



2、把前一步生成的HelloWorld.h加入工程(最好是拷贝到DLL所在工程,否则还要加附加头文件路径)



3、设定附加头文件路径



4、实现Native方法

#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("Hello World!\n");
return;
}


5、编译



运行

1、把DLL拷贝到system32下(需要把JNINative.dll改名为HelloWorld.dll,才能被该Java调用。这点是例子不严谨)

2、在class所在目录下,用java HelloWorld运行

遗留问题

1、如何允许DLL在任意目录下

2、如果Java类在包中,如何编译运行通过(实际操作中,在eclipse中没问题,在命令行有错)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: