亚洲国产精品久久久久,国产大片免费在线观看,亚洲成在人线久久综合,成人免费网站视频www

您現在所在的位置:首頁 > 論文中心 > 計算機類 >

    好的一種Java程序調用C/C++語言函數的方法(上)

        在現今的軟件開發領域中,Java以其跨平臺的優勢得到大量的應用,其代碼可以一次編譯多處執行。但這種特性給Java帶來了一定的局限性,幸好Java提供了完備的C/C++語言接口,這樣我們可以利用C語言的強大功能實現Java難以實現的功能,在一定程序上消除Java的局限性和低效率。

        一、創建DLL文件

        使用某一種C/C++開發工具創建Dll文件,實現某一功能,供JAVA調用,例如本文在此使用Visual studio 2005創建一個名為testdll的動態庫文件。

        二、使用JNI

        JNI是Java Native Interface的縮寫,中文為JAVA本地調用。它允許Java代碼和其他語言寫的代碼進行交互。

        1.JAVA類

        在JAVA程序中,首先需要在類中聲明所調用的庫名稱,如下:

        static {

        System.loadLibrary(“testdll”); //加載動態庫,testdll為DLL文件名稱

        }

        還需要對將要調用的方法做本地聲明,關鍵字為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(“testdll”); } 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++程序調用來生成所需的庫文件。

      史老師

    ?