有一个静态库,有没有一种简单的方法知道它是32位还是64位?

问题描述:

是否有任何工具可以直接测试库是为32位还是64位制作的?有一个静态库,有没有一种简单的方法知道它是32位还是64位?

可以使用dumpbin实用程序/headers选项

它返回库是否为32位或64位架构构建的。

查看here了解详情。

用法示例:

c:\>dumpbin libXYZ.lib /headers 
+5

这样做,查找'文件头'部分 – stijn 2011-05-16 07:18:19

+0

支持链接已损坏,这是新链接: https://docs.microsoft.com/en-us/cpp/build/reference/dumpbin-参考 – 2018-02-23 19:41:04

我还没有试过,但你也可以使用file.exe,Unix的file等同于Windows。 您可以从here或GNU版本here

运行Visual Studio命令提示符下载二进制文件(和源也一样),以确保您的路径可以找到DUMPBIN.EXE

管到FINDSTR,以节省大渗出关于每个部分,并且可以选择使用通配符来分析libs文件夹。什么你寻找

dumpbin /headers *.lib | findstr machine

例;

8664 machine (x64) 

在Visual Studio中,我们可以更多地了解库/ DLL是32位还是64位与Coreflags.exe 该工具会自动安装Visual Studio。 我们可以运行命令行命令,它可以运行为

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\CorFlags.exe whatever_Lib_with_path 

该文件是否被托管或非托管该命令将返回。 如果它的管理那么它可以给出的信息是32/64位。