由于項目的需要,最近研究了java 調(diào)用DLL的方法,將如何調(diào)用的寫于此,便于日后查閱:
為雄縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及雄縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、雄縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!采用的方法是JNI: Java Native Interface,簡稱JNI,是Java平臺的一部分,可用于讓Java和其他語言編寫的代碼進行交互。
下面是從網(wǎng)上摘取的JNI工作示意圖:
總體說明:先在JAVA中建立一個類,通過javac生成.class,再由javah生成.h;然后將.h復(fù)制到VC下,由VC實現(xiàn)具體函,
并編譯通過后生成DLL,將DLL放入JAVA工程中使用,完畢。
下面說說具體步驟(含實例):
1、建java類:裝載DLL,聲明要使用DLL方法,具體實現(xiàn)由DLL負責(zé);代碼如下:
public class Java2cpp { static { System.loadLibrary("javaCallcpp"); } public native int DLL_ADD(int a,int b); //加 public native int DLL_SUB(int a,int b); //減 public native int DLL_MUL(int a,int b); //乘 public native int DLL_DIV(int a,int b); //除 public static void main(String args[]) { int sum = 0; Java2cpp test = new Java2cpp(); sum = test.DLL_ADD(2, 4); System.out.println("Java call cpp dll result:" + sum); } }