找出来自Java的dll是32位还是64位

时间:2012-11-21 17:02:51

标签: java java-native-interface 64-bit 32-bit

在我的Java应用程序中,我希望在尝试加载之前找出用户定义的dll是32位还是64位。

我(以编程方式)知道我的应用程序运行的JVM是32位还是64位。我也(以编程方式)知道主机是Windows还是Linux。

如何在调用“System.loadLibrary()”方法之前以编程方式确定dll是32位还是64位?

1 个答案:

答案 0 :(得分:0)

在Windows上,这需要像这样的管道

dumpbin /headers lib.dll | findstr /i "machine magic"

这是使用通常随Visual Studio一起安装的dumpbin实用程序,findstr是系统实用程序,我不知道是否存在dumpbin的可再分发版本。< / p>

只需从java执行此命令并对结果应用一些基本的比较检查。