Windows 为什么可以';我是否从命令行从C:\SysWOW64复制DLL?
我知道我做的很奇怪,请不要担心。然而,正在发生的事情绝对是疯狂的 如果我试图在64位Windows 7上使用Windows 为什么可以';我是否从命令行从C:\SysWOW64复制DLL?,windows,dll,Windows,Dll,我知道我做的很奇怪,请不要担心。然而,正在发生的事情绝对是疯狂的 如果我试图在64位Windows 7上使用copy从命令行从C:\SysWOW32\复制一个DLL文件,我实际上会得到C:\System32\中的文件。为什么会这样 确定-dumpbin能够区分DLL文件 C:\Users\user\Desktop>dumpbin /headers C:\Windows\System32\opengl32.dll | grep machine 8664 machine
copy
从命令行从C:\SysWOW32\
复制一个DLL文件,我实际上会得到C:\System32\
中的文件。为什么会这样
确定-dumpbin能够区分DLL文件
C:\Users\user\Desktop>dumpbin /headers C:\Windows\System32\opengl32.dll | grep machine
8664 machine (x64)
C:\Users\user\Desktop>dumpbin /headers C:\Windows\SysWOW64\opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
不正常-其他命令,如md5sum(from)获取的字节错误强>
C:\Users\user\Desktop>md5sum C:\Windows\system32\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\system32\\opengl32.dll
C:\Users\user\Desktop>md5sum C:\Windows\SysWow64\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\SysWow64\\opengl32.dll
不正常-使用命令行复制64位DLL
C:\Users\user\Desktop>copy C:\Windows\System32\opengl32.dll .
1 file(s) copied.
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
C:\Users\user\Desktop>copy C:\Windows\SysWOW64\opengl32.dll .
Overwrite .\opengl32.dll? (Yes/No/All): yes
1 file(s) copied.
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum C:\Windows\System32\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\System32\\opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
错了!为什么要复制32位DLL
确定-使用命令行复制32位DLL
C:\Users\user\Desktop>copy C:\Windows\System32\opengl32.dll .
1 file(s) copied.
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
C:\Users\user\Desktop>copy C:\Windows\SysWOW64\opengl32.dll .
Overwrite .\opengl32.dll? (Yes/No/All): yes
1 file(s) copied.
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum C:\Windows\System32\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\System32\\opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
确定-使用资源管理器复制64位DLL
<control-drag System32\opengl32.dll to desktop>
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:41 PM 1,039,872 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
585fed4cdb8034b8b58aeb8008255817 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
8664 machine (x64)
<control-drag SysWow64\opengl32.dll to desktop>
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:41 PM 1039872 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
585fed4cdb8034b8b58aeb8008255817*opengl32.dll
C:\Users\user\Desktop>dumpbin/headers opengl32.dll | grep machine
8664机器(x64)
确定-使用资源管理器复制32位DLL
<control-drag System32\opengl32.dll to desktop>
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:41 PM 1,039,872 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
585fed4cdb8034b8b58aeb8008255817 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
8664 machine (x64)
<control-drag SysWow64\opengl32.dll to desktop>
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791,552 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll
C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
14C machine (x86)
32 bit word machine
C:\Users\user\Desktop>dir opengl32.dll
07/13/2009 06:16 PM 791552 opengl32.dll
C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956*opengl32.dll
C:\Users\user\Desktop>dumpbin/headers opengl32.dll | grep machine
14C机器(x86)
32位字机
有人能解释一下这里发生了什么吗?你看到的行为是由
md5sum.exe
是32位二进制文件,因此当它请求C:\Windows\System32\opengl32.dll
时,文件系统返回C:\Windows\SysWOW64\opengl32.dll
类似地,如果启动32位提示符(
C:\Windows\SysWOW64\cmd.exe
),则执行copy
操作并输入参数C:\Windows\System32\opengl32.dll
,C:\Windows\SysWOW64\opengl32.dll
被复制您是否正在从visualstudio命令提示符
执行复制
操作?请参阅答案(32位程序将对system32的访问重定向到SysWOW64)。@MathiasR.Jessen是的,或者我至少从常规提示符中获取了vsvarsall.bat
。啊哈!很好的链接。谢谢大家!@apaidnerd是的,WOW64禁用WOW64FSRedirection
功能是