双面文件问题
我正在程序中读取 system32 文件夹中的一些文件;其中一个文件(C:\Windows\System32\gdi32.dll)表现出一种非常奇怪的行为。当我从程序中读取它时,它显示大小为 310'784 字节;当我从资源管理器查看它的大小时,它显示大小为 404'480 字节。 怎么可能呢?
I'm reading in my program some files from system32 folder; and one of these files (C:\Windows\System32\gdi32.dll) demonstrates a very strange behavior. When I'm reading it from my program, it shows size of 310'784 bytes; and when I view it's size from Explorer, it shows size of 404'480 bytes.
How could that be?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最可能的解释是您的程序是 32 位,而 Explorer 是 64 位。当 32 位程序打开
C:\Windows\System32
(其中包含 64 位 DLL)中的文件时,它实际上会重定向到C:\Windows\SysWOW64
(其中包含 32 位 DLL)。您看到的大小差异是C:\Windows\SysWOW64\gdi32.dll
和C:\Windows\System32\gdi32.dll
文件之间的差异。有关详细信息,请参阅知识库文章 896456。
The most likely explanation is that your program is 32-bit and Explorer is 64-bit. When a 32-bit program opens files in
C:\Windows\System32
(which contains 64-bit DLLs), it's actually redirected toC:\Windows\SysWOW64
(which contains 32-bit DLLs). The size difference you're seeing is the difference between theC:\Windows\SysWOW64\gdi32.dll
andC:\Windows\System32\gdi32.dll
files.For more information, see KB article 896456.