在Windows 7中,使用Windows资源管理器,我通过重命名它保存了文件C:\ Program Files \ Microsoft Visual Studio \ VC98 \ ATL \ Include \ ATLCOM.H的备份副本,然后我复制了一个新的,稍微不同的文件到位(在同一目录中为ATLCOM.H)。
然后我打开了Microsoft Visual C ++ 6.0 IDE,并编译了我的项目(依赖于ATLCOM.H)。我注意到编译后的可执行文件表现得好像我没有进行更改。
那么(仔细检查我是否真的进行了更改)我在IDE中打开了文件。我的更改不存在。但是如果我在其他编辑器中打开文件,则会出现更改。总而言之,我尝试用四个独立的程序打开文件;除VC ++ 6.0外,在所有文件中打开文件时,我的更改都存在。此外,如果我从VC ++ 6.0中对文件进行另一次更改并保存,则从其他程序中查看时,文件的内容似乎不受影响,但是如果我关闭VC ++ 6.0并重新打开它,那么我所做的更改是在VC ++ 6.0中仍然存在。所以它正在某处写入磁盘。
然后我发现如果我通过“以管理员身份运行”启动VC ++ 6.0,文件的内容(从VC ++ 6.0中)看起来与其他程序中的内容相同。如果我在没有“作为管理员”的情况下启动它们,它们就会有所不同。
我猜也许会有像Windows(或IDE本身)将两个独立的“真实”目录合并到一个虚拟目录中的东西?类似于Windows如何从用户的角度将“C:\ Users \ Public \ Documents”和“C:\ Users \ Bob \ Documents”合并到一个看似单个目录的位置?它的合并程度取决于我是否以管理员身份运行IDE?
有谁知道这里发生了什么?是否有一些目录我可以通过Windows资源管理器(或shell提示符或其他)访问,这将允许我真正看到两个实际文件,而不仅仅是看似合并的C:\ Program Files \ Microsoft Visual Studio \ VC98 \ ATL \包括哪些内容?提前致谢。