JAVA判断32位还是64位,调用不同的DLL(转)
通过获取sun.arch.data.model可判断是32还是64的JAVA
将32或者64位的DLL放不同的目录,实现自适应调用DLL
Properties props = System.getProperties(); String bits=String.valueOf(props.get("sun.arch.data.model")); String path = IMyNative.class.getResource("/").getPath() + "dll"+bits; System.out.println(path); // path=path.substring(1,path.length()).replace("/", "\\"); File file = new File(path + "/MyNative.dll"); System.out.println(path); System.load(path + "/MyNative.dll"); NativeLibrary.addSearchPath("MyNative.dll", path);
JNA需要以下包:
jna.jar platform.jar
public class JavaArch{
public static void main(String[] args){
String arch = System.getProperty("sun.arch.data.model");
System.out.println("arch:"+arch);
}
}