?????? 先介紹一下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("")},引號中為生成的動態連接庫文件,不用加擴展名,系統會自動識別的。