先介绍一下jni:Java Native Interface,它能够使java和其他编程语言编写的应用程序和库进行相互操作。
java中调用c函数,主要是通过本地化接口jni来实现的,在windows下,调用的是dll文件,在unix下,调用的是so文件。这里先介绍编写调用c函数的基本步骤:
(1):编写.java文件,其中c中的函数要用public native static修饰。
(2):编译.java文件为.class文件,使用javah生成.h文件。
(3):按照.h文件中的函数形式在c中实现函数。
(4):生成.dll文件,拷贝到java工程中。
(5):运行java文件。
注意以下几点:(1)如果java源文件放在包中,一定要在工程目录下使用javah命令。(2)在编写c函数时,要把jni.h和jni_md.h文件放在c的工程中。(3)在java文件中包含如下一句:static{System.loadLibrary("")},引号中为生成的动态连接库文件,不用加扩展名,系统会自动识别的。
java中调用c函数,主要是通过本地化接口jni来实现的,在windows下,调用的是dll文件,在unix下,调用的是so文件。这里先介绍编写调用c函数的基本步骤:
(1):编写.java文件,其中c中的函数要用public native static修饰。
(2):编译.java文件为.class文件,使用javah生成.h文件。
(3):按照.h文件中的函数形式在c中实现函数。
(4):生成.dll文件,拷贝到java工程中。
(5):运行java文件。
注意以下几点:(1)如果java源文件放在包中,一定要在工程目录下使用javah命令。(2)在编写c函数时,要把jni.h和jni_md.h文件放在c的工程中。(3)在java文件中包含如下一句:static{System.loadLibrary("")},引号中为生成的动态连接库文件,不用加扩展名,系统会自动识别的。