Trong Windows 7, sử dụng Windows Explorer, tôi đã lưu một bản sao lưu của tệp C: \ Program Files \ Microsoft Visual Studio \ VC98 \ ATL \ Bao gồm \ ATLCOM.H bằng cách đổi tên nó ra khỏi đường đi và sau đó tôi sao chép một tệp mới, tập tin hơi khác nhau vào vị trí (như ATLCOM.H trong cùng thư mục).
Sau đó, tôi đã mở Microsoft Visual C ++ 6.0 IDE và biên dịch dự án của mình (dựa trên ATLCOM.H). Tôi nhận thấy rằng tệp thực thi được biên dịch hành xử như thể tôi đã không thực hiện các thay đổi của mình.
Vì vậy, sau đó (để kiểm tra xem tôi có thực sự thay đổi hay không) Tôi đã mở tệp từ bên trong IDE. Những thay đổi của tôi KHÔNG có mặt. Nhưng nếu tôi mở tệp trong một số trình soạn thảo khác, thì có những thay đổi. Nói chung, tôi đã thử mở tệp với bốn chương trình riêng biệt; ngoại trừ VC ++ 6.0, các thay đổi của tôi sẽ xuất hiện khi tệp được mở trong tất cả chúng. Hơn nữa, nếu tôi thực hiện một thay đổi khác cho tệp từ bên trong VC ++ 6.0 và lưu nó, nội dung của tệp dường như không bị ảnh hưởng khi xem từ bên trong các chương trình khác, nhưng nếu tôi đóng VC ++ 6.0 và mở lại, thì tôi đã thay đổi trong VC ++ 6.0 vẫn còn đó. Vì vậy, nó được ghi vào đĩa ở đâu đó.
Sau đó, tôi phát hiện ra rằng nếu tôi khởi động VC ++ 6.0 thông qua "Run As Administrator", nội dung của tệp trông (từ bên trong VC ++ 6.0) giống như chúng nhìn từ bên trong các chương trình khác. Nếu tôi khởi động nó mà không có "quản trị viên", họ sẽ khác.
Tôi đoán rằng có lẽ có một cái gì đó đang diễn ra như Windows (hoặc chính IDE) hợp nhất hai thư mục "thực" riêng biệt vào một thư mục ảo? Tương tự như cách Windows có thể hợp nhất "C: \ Users \ Public \ Documents" và "C: \ Users \ Bob \ Documents" vào một thư mục giống như quan điểm của người dùng? Và việc hợp nhất chính xác như thế nào tùy thuộc vào việc tôi có chạy IDE với tư cách quản trị viên hay không?
Có ai biết những gì đang xảy ra ở đây? Có một số thư mục mà tôi có thể truy cập qua Windows Explorer (hoặc dấu nhắc shell hoặc bất cứ thứ gì) sẽ cho phép tôi thực sự nhìn thấy hai tệp thực tế, thay vì chỉ là C: \ Program Files \ Microsoft Visual Studio \ VC98 \ ATL \ Bao gồm? Cảm ơn trước.