通过获取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

本文详细介绍了如何通过Java环境变量判断32位还是64位,并根据判断结果自适应调用相应的DLL文件。通过使用Java内置的Properties类获取系统属性,再结合路径拼接和系统加载功能,实现DLL的灵活调用。
2063

被折叠的 条评论
为什么被折叠?



