□ 首先编写Java代码,如下:

□ 编译完之后,我们用JDK自带的javah(命令:javah pkg.Clas)来生成C头文件。将会生成类似如下的头文件(这部分内容我写作的假设是大家了解C/C++编程和相应的动态链接库技术,所以我不会作更多的解释,我的初衷是让了解C/C++的朋友快速了解JNI):

□ 编写本地代码(我这里用C)。代码如下:

□ 将上面代码在Windows下编译成pkg_Cls.dll,并且将pkg_Cls.dll放到运行Java程序的根目录。这块最容易的出问题的是导出函数名称是否符合约定,例如在编译__stdcall和__cdecl声明的函数时将会有不同的命名约定,从而导致不符合JNI的命名约定,所以可能会出现对应不上问题,解决此问题的方法可以将jni_md.h中加入如声明#define JNICALL __cdecl。
□ 运行Java类pkg.Cls。
OK,这算是一个完整的演示Java如何调用本地库的流程。