在开发中,有时java并不能胜任所有的工作,比如说java swing中不能直接操作任务栏,java不能直接操作进程等,而java 本地调用接口就可以解决这个问题,一种思想的引进带给人们好的一面,那么它必定会有坏的一面,jni也同样如此,它在增强运行效率的同时,也给程序的可移植性带来影响,下面我来讲解jni的一个小小的例子(在命令行中输出Hello World):
Step 01:
安装jdk,配置好环境变量。
Step 02:
在eclipse中新建一个jni的java project,在src目录下新建HelloWorld.java,代码如下:
public classHelloWorld {
public native void helloWorld();
}
Step 03:
用javah命令生成HelloWorld.h文件,我的eclipse工作目录在F:\eclipseworkbench下,命令如下:
其中–d F:\eclipseworkbench\jni是指定生成的HelloWorld.h的输出路径,执行命令完成后,在F:\eclipseworkbench\jni目录下会多出一个HelloWorld.h的文件,如图:
Step 04:生成相应的dll动态链接库ÿ