有一个静态库,有没有一种简单的方法可以知道它是 32 位还是 64 位?
Posted
技术标签:
【中文标题】有一个静态库,有没有一种简单的方法可以知道它是 32 位还是 64 位?【英文标题】:Have a static lib, is there a simple way to know it is for 32 bit or 64 bit? 【发布时间】:2011-08-26 05:25:54 【问题描述】:是否有任何工具可以直接测试库是为 32 位还是 64 位制作的?
【问题讨论】:
【参考方案1】:运行 Visual Studio 命令提示符以确保您的路径可以找到 dumpbin.exe
到 findstr 的管道可以节省每个部分的大量数据,并且您可以选择使用通配符来分析 libs 文件夹。
dumpbin /headers *.lib | findstr machine
您正在寻找的示例;
8664 machine (x64)
【讨论】:
【参考方案2】:您可以将dumpbin
实用程序与/headers
选项一起使用
它返回库是为 32 位还是 64 位架构构建的。
查看DUMPBIN Reference了解详情。
示例用法:
c:\>dumpbin libXYZ.lib /headers
【讨论】:
这样就可以了,寻找“文件头”部分【参考方案3】:我还没有尝试过,但您也可以使用file.exe
,在 Windows 上等效于 unix file
。
您可以从 here 或 gnu 版本 here 下载二进制文件(以及源代码)
【讨论】:
这只是标准的 GNU File 工具,对吧?我已经尝试使用来自 Git for Windows 的最新版本的 MinGW 中的file
进行此操作,它说 current ar archive
用于与 Python 3.6 (Windows) 一起分发的 x64 python36.lib
。【参考方案4】:
在 Visual Studio 中,我们可以通过 Coreflags.exe 了解 Lib/dll 是 32 位还是 64 位 此工具随 Visual Studio 自动安装。 我们可以从命令行运行这个命令,它可以运行为
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\CorFlags.exe whatever_Lib_with_path
此命令将返回您该文件是托管的还是非托管的。 如果它托管,那么它可以提供有关它的信息是 32/64 位。
【讨论】:
以上是关于有一个静态库,有没有一种简单的方法可以知道它是 32 位还是 64 位?的主要内容,如果未能解决你的问题,请参考以下文章