Java通过JNI调用C语言的办法[Java编程]
本文“Java通过JNI调用C语言的办法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
JAVA以其跨平台的特点深受人们爱好,而又正由于它的跨平台的目的,使得它和本地机械的各种内部接洽变得很少,约束了它的功效.
办理JAVA对本地操作的一种办法就是JNI.
JAVA通过JNI调用本地办法,而本地办法是以库文件的情势存放的(在WINDOWS平台上是DLL文件情势,在UNIX机械上是SO文件情势).通过调用本地的库文件的内部办法,使JAVA可以实现和本地机械的精密接洽,调用系统级的各接口办法.
简单介绍及利用以下:
1、JAVA中所需求做的工作
在JAVA程序中,首先需求在类中声明所调用的库名称,以下:
static {
System.loadLibrary(“goodluck”);
}
在这里,库的扩大名字可以不用写出来,毕竟是DLL还是SO,由系统自己判断.
还需求对将要调用的办法做本地声明,关键字为native.并且只需求声明,而不需求具体实现.以下:
public native static void set(int i);
public native static int get();
然后编译该JAVA程序文件,生成CLASS,再用JAVAH号令,JNI就会生成C/C++的头文件.
比方程序testdll.java,内容为:
public class testdll
{
static
{
System.loadLibrary("goodluck");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args)
{
testdll test = new testdll();
test.set(10);
System.out.println(test.get());
}
}
用javac testdll.java编译它,会生成testdll.class.
再用javah testdll,则会在当前目录下生成testdll.h文件,这个文件需求被C/C++程序调用来生成所需的库文件.
以上是“Java通过JNI调用C语言的办法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |