1、下載地址:
源碼:JNative_1.4RC2_src.zip : http://jaist.dl.sourceforge.net/sourceforge/jnative/JNative_1.4RC2_src.zip
JAR包:JNative.jar : http://nchc.dl.sourceforge.net/sourceforge/jnative/JNative.jar
如果以上版本不能完成下載,說明版本有可能更新,請從以下地址中下載:
Resource URL: http://jnative.sourceforge.net/
Source Code: http://sourceforge.net/projects/jnative
Detailed Review: http://jnative.free.fr
JavaDOC: http://jnative.free.fr/docs/
JNative相對於其它同類開源組件的優點:
1.容易使用
2.對數據類型的處理做的出色
3.支持CallBack
下面以一個小Demo來學習一下JNative:
1.理解文件用途
JNative_1.4RC2_src.zip是JNative源代碼的壓縮包把它解壓後從中找到libJNativeCpp.so和JNativeCpp.dll兩個文件.JNativeCpp.dll應用在Windows平臺下.把它放在c:\windows\system32目錄下.libJNativeCpp.so應用在Linux平臺下.放在哪個目錄,這個我不知道.
把JNative.jar加入到所需的工程中.
把要調用的dll文件也放在c:\windows\system32目錄下
2.測試類
package com.xgz.jnative;
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;
public class Test {
public static void main(String[] args)throws Exception {
//系統加載dll文件有兩種寫法1.loadLibrary方法:把dll文件拷貝到c:\windows\system32目錄下,引用時只需寫dll名字2.load方法:寫dll文件的完整路徑
System.loadLibrary("InterfaceFun");//InterfaceFun是dll文件
//參數說明InterfaceFun dll名,AddZhiYe函數名
JNative jnative = new JNative("InterfaceFun","AddZhiYe");
//設置此函數的返回值
jnative.setRetVal(Type.INT);
int i=0;
//賦予參數值
jnative.setParameter(i++, Type.STRING,"127.0.0.1");
jnative.setParameter(i++, Type.STRING,"sa");
jnative.setParameter(i++, Type.STRING,"sa");
jnative.setParameter(i++, Type.STRING,"程序員");
jnative.setParameter(i++, Type.INT,"23");
jnative.setParameter(i++, Type.INT,"23");
//函數執行
jnative.invoke();
//打印函數返回值
System.out.println(Integer.parseInt(jnative.getRetVal()));
}
}