JNI技术(Java Native Interface)

来源:互联网 发布:巴萨恒大世俱杯数据 编辑:程序博客网 时间:2024/05/17 23:29

说白了,就是JAVA调用由C/C++编写的库文件DLL(WINDOWS)/SO(UNIX)

public class testdll 

    static 

    { 

        System.loadLibrary("goodluck"); 

    } 

    public native static int get(); 

    public native static int set(int a);

    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++程序调用来生成所需的库文件。

 

将testdll.h和include/下的jni.h作为头文件,实现

  JNIEXPORT jint JNICALL Java_testdll_get (JNIEnv *, jclass); 和

  JNIEXPORT void JNICALL Java_testdll_set (JNIEnv *, jclass, jint);

生成goodluck.dll文件。就ok啦


原创粉丝点击