JNI(java native interface)
java是跨平台的语言,但是在有些时候仍然需要调用本地代码(通常这些代码是用C/C++编写的)
SUN公司提供的JNI是一个功能强大的JAVA接口,这个JNI接口提供了JAVA与操作系统本地代码互相调用的功能
最简单的javay调用C/C++代码的步骤
1,首先在JAVA类中声明一个native的方法。
2,使用javah命令生成包含native方法定义的c/c++头文件
3,按照生成的头文件编写c/c++源文件
4,将c/c++源文件编译成动态链接库(DLL)
5,将DLL文件加入到PATH环境变量下
注:java调用动态链接库的方法是:System.loadLibrary(DLL名称);
这是使用JNI的基本步骤。虽然JNI功能很强大,但是他的弊端还是有必要在这里强调一下
1,使用JNI之后,那么这个JAVA APLICATION就不能再跨平台,如果要移植到其他的平台上,那么native代码就需要重新编写
2,Java是强类型的语言,而c/c++不是,因而,你必须在写JNI时更小心