简体   繁体   English

如果我包含路径,则dumpbin实用程序会给出不同的结果

[英]The dumpbin utility gives a different result if I include a path

Investigating the bit width of DLLs on my Windows 10/64 bit box with Visual Studiop 2013 installed. 在安装了Visual Studiop 2013的Windows 10/64位框中调查DLL的位宽。

dumpbin /headers C:\windows\system32\msvcp120.dll | findstr machine

reports: 8664 machine (x64) 报告:8664计算机(x64)

but

cd C:\windows\system32\
dumpbin /headers .\msvcp120.dll | findstr machine

reports: 14C machine (x86) 32 bit word machine 报告:14C机器(x86)32位字机器

I've tried it on several machines with the same result. 我已经在几台机器上尝试了相同的结果。 What's going on ? 这是怎么回事 ?

This is the file system redirector at work, always active on a 64-bit OS when you look at the c:\\windows\\system32 directory. 这是工作中的文件系统重定向器,当您查看c:\\ windows \\ system32目录时,始终在64位OS上处于活动状态。 You are actually looking at c:\\windows\\syswow64\\msvcp120.dll, thus the machine type is x86. 实际上正在查看c:\\ windows \\ syswow64 \\ msvcp120.dll,因此计算机类型为x86。 Caused primarily by running the 32-bit version of dumpbin.exe, like most users would. 像大多数用户一样,主要是由运行dumpbin.exe的32位版本引起的。 Only the 64-bit version (vc/bin/amd64 directory) does not get redirected. 仅64位版本(vc / bin / amd64目录)不会被重定向。

I was puzzled a bit and discovered one aspect of the redirector I did not know before. 我有些困惑,发现了重定向器的一个以前不知道的方面。 It redirects only relative paths. 重定向相对路径。 So .\\msvcp120.dll or ..\\system32\\msvcp120.dll. 因此,。\\ msvcp120.dll或.. \\ system32 \\ msvcp120.dll。 But not a full path, like c:\\windows\\system32\\msvcp120.dll. 不是完整路径,例如c:\\ windows \\ system32 \\ msvcp120.dll。 Drive letter is not actually important. 盘符实际上并不重要。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM