在我的Java应用程序中,我希望在尝试加载之前找出用户定义的dll是32位还是64位。
我(以编程方式)知道我的应用程序运行的JVM是32位还是64位。我也(以编程方式)知道主机是Windows还是Linux。
如何在调用“System.loadLibrary()”方法之前以编程方式确定dll是32位还是64位?
答案 0 :(得分:0)
在Windows上,这需要像这样的管道
dumpbin /headers lib.dll | findstr /i "machine magic"
这是使用通常随Visual Studio一起安装的dumpbin
实用程序,findstr
是系统实用程序,我不知道是否存在dumpbin
的可再分发版本。< / p>
只需从java执行此命令并对结果应用一些基本的比较检查。