【发布时间】:2010-06-23 05:18:11
【问题描述】:
我正在我的程序中读取 system32 文件夹中的一些文件;其中一个文件 (C:\Windows\System32\gdi32.dll) 表现出非常奇怪的行为。当我从我的程序中读取它时,它显示的大小为 310'784 字节;当我从资源管理器中查看它的大小时,它显示的大小为 404'480 字节。 怎么可能?
【问题讨论】:
标签: c++ windows winapi windows-7
我正在我的程序中读取 system32 文件夹中的一些文件;其中一个文件 (C:\Windows\System32\gdi32.dll) 表现出非常奇怪的行为。当我从我的程序中读取它时,它显示的大小为 310'784 字节;当我从资源管理器中查看它的大小时,它显示的大小为 404'480 字节。 怎么可能?
【问题讨论】:
标签: c++ windows winapi windows-7
最可能的解释是您的程序是 32 位的,而 Explorer 是 64 位的。当 32 位程序打开 C:\Windows\System32(包含 64 位 DLL)中的文件时,它实际上被重定向到 C:\Windows\SysWOW64(包含 32 位 DLL)。您看到的大小差异是 C:\Windows\SysWOW64\gdi32.dll 和 C:\Windows\System32\gdi32.dll 文件之间的差异。
有关详细信息,请参阅KB article 896456。
【讨论】: