java调用动态库(dll)的一些问题
1.过程:http://www.it.com.cn/f/edu/058/4/153802.htm
2.生成testdll.h头文件:(参考:http://blog.csdn.net/ainibaifenbai/article/details/6797913)
javac
1)dos切换到java文件所在目录,使用javac编译出class文件
javah的一些问题:
1)切换到src目录下
2)设置路径命令:set classpath=src目录的完全路径
3)执行 javah 类名(带包的名称),将生成的文件改名为“testdll.h”
3.下载visual C++ 6.0:http://hi.baidu.com/ton_tony/blog/item/468603f97d27e672024f5608.html
4.DLL的创建 :
1)创建工程:file->new->projects->win32 dynamic-link libraty->a simple dll project(参考:http://wenku.baidu.com/view/7b627a28915f804d2b16c1a4.html)
2)拷贝testdll.h到工程当前路径下;从”C:\Program Files\Java\jdk1.6.0_26\include“和”C:\Program Files\Java\jdk1.6.0_26\include\win32“拷贝一些必要的.h文件(
\jdk\include\jni.h
\jdk\include\win32\jawt_md.h
\jdk\include\win32\jni_md.h
复制到Visual Studio.net的安装目录(例如:”C:\Program Files\Microsoft Visual Studio\VC98\Include“)
3)创建goodluck.cpp文件,编译得到goodluck.dll文件
4)eclipse设置dll相关的环境:http://hi.baidu.com/auhiug/blog/item/f129bcddea290d3c5982dde4.html
5装载过程发生的JNI java.lang.UnsatisfiedLinkError:
http://hi.baidu.com/wlred/blog/item/a4d69bf7b3bc24e17609d7fc.html