Visual c++ 如果包含路径,dumpbin实用程序将给出不同的结果
调查安装了Visual Studio IOP 2013的Windows 10/64位机箱上DLL的位宽度Visual c++ 如果包含路径,dumpbin实用程序将给出不同的结果,visual-c++,dumpbin,Visual C++,Dumpbin,调查安装了Visual Studio IOP 2013的Windows 10/64位机箱上DLL的位宽度 dumpbin /headers C:\windows\system32\msvcp120.dll | findstr machine 报告:8664机器(x64) 但是 报告: 14C机器(x86)32位字机器 我在几台机器上试过,结果都一样。发生了什么?这是正在工作的文件系统重定向程序,当您查看c:\windows\system32目录时,它在64位操作系统上始终处于活动状态。您实际上
dumpbin /headers C:\windows\system32\msvcp120.dll | findstr machine
报告:8664机器(x64)
但是
报告:
14C机器(x86)32位字机器
我在几台机器上试过,结果都一样。发生了什么?这是正在工作的文件系统重定向程序,当您查看c:\windows\system32目录时,它在64位操作系统上始终处于活动状态。您实际上看到的是c:\windows\syswow64\msvcp120.dll,因此机器类型是x86。与大多数用户一样,主要是由于运行32位版本的dumpbin.exe造成的。只有64位版本(vc/bin/amd64目录)不会被重定向
我有点困惑,发现了重定向器的一个方面,我以前不知道。它只重定向相对路径。所以。\msvcp120.dll或..\system32\msvcp120.dll。但不是完整路径,如c:\windows\system32\msvcp120.dll。驱动器号实际上并不重要。谢谢,汉斯,这很有道理。我想我使用的是32位版本的dumpbin,因为我使用“x86本机工具命令提示符”来运行这些命令。如果我明确使用64位版本(“C:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\dumpbin.exe”),则无论从何处运行,\windows\system32版本和\windows\syswon64版本,它都会正确报告64位。
cd C:\windows\system32\
dumpbin /headers .\msvcp120.dll | findstr machine