Java調(diào)用DLL有多種方式,常用的方式有JNative、JNA、JNI等。JNative方式調(diào)用dllJNative是一種能夠使Java語言使調(diào)用DLL的一種技術(shù),對JNI進行了封裝,可能有些讀者會有這樣一個問題,JNative對JNI進行了封裝,并且是一種跨語言的使用DLL,會不會在效率方面很不如人意,我可以用我使用Jnative的經(jīng)驗告訴你,不會!因為我用Jnative就是用來處理大量的數(shù)據(jù)調(diào)用,是基于實時數(shù)據(jù)庫接口的調(diào)用。而實時數(shù)據(jù)庫的數(shù)據(jù)量是非常大的。
首先下載JNative,
注意:將JNative解壓,并將其中的JNativeCpp.dll拷貝到system32文件夾中,libJNativeCpp.so是linux平臺使用的。
代碼:
JNA方式調(diào)用dllJNA(Java Native Access)框架是一個開源的Java框架,是SUN公司主導(dǎo)開發(fā)的,建立在經(jīng)典的JNI的基礎(chǔ)之上的一個框架。
首先下載JNA,
代碼:
JNI調(diào)用dll如果有一個現(xiàn)有的.dll/.so文件,如果使用JNI技術(shù)調(diào)用,我們首先需要另外使用C語言寫一個.dll/.so共享庫,使用SUN規(guī)定的數(shù)據(jù)結(jié)構(gòu)替代C語言的數(shù)據(jù)結(jié)構(gòu),調(diào)用已有的dll/so中公布的函數(shù)。
http://blog.sina.com.cn/s/blog_6c3b9ed40100xyl8.html然后再在Java中載入這個適配器dll/so,再編寫Java native函數(shù)作為dll中函數(shù)的代理。經(jīng)過2個繁瑣的步驟才能在Java中調(diào)用本地代碼。 因此,很少有Java程序員愿意編寫調(diào)用dll/.so庫中的原生函數(shù)的java程序。這也使Java語言在客戶端上乏善可陳??梢哉fJNI是Java的一大弱點!只提供幾個鏈接吧! http://www./home/space-37924-do-blog-id-5681.html 以上源代碼下載
|
|
來自: 陳永正的圖書館 > 《編程相關(guān)》