В Windows 7 с помощью проводника Windows я сохранил резервную копию файла C:\Program Files\Microsoft Visual Studio\VC98\ATL\Include\ATLCOM.H, переименовав его, и затем скопировал новую, немного другой файл на место (как ATLCOM.H в том же каталоге).
Затем я открыл IDE Microsoft Visual C++ 6.0 и скомпилировал свой проект (который опирается на 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 (или приглашение оболочки или что-то еще), которые позволят мне действительно видеть два фактических файла, а не просто кажущийся объединенным C:\Program Files\Microsoft Visual Studio\VC98\ATL\Include? Заранее спасибо.