调查安装了 Visual Studiop 2013 的 Windows 10/64 位机器上 DLL 的位宽。
dumpbin /headers C:\windows\system32\msvcp120.dll | findstr machine
报告:8664 机器 (x64)
但是
cd C:\windows\system32\
dumpbin /headers .\msvcp120.dll | findstr machine
报告: 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。驱动器号实际上并不重要。
关于visual-c++ - 如果我包含路径,dumpbin 实用程序会给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43618944/