C++] Какие правила доступа к памяти в Виндовс?
Изучая винапи GDI я запутался. Ответьте на вопросы:
1) Кто имеет доступ к памяти приложения (стек, куча, код, ресурсы):
а) Все потоки приложения
б) У каждого потока своя память
в) Все приложения
г) Свой вариант
2) Если приложение1, зная адрес переменной приложения2, будет активно работать с этой памятью, виндовс остановит приложение1?
3) Если я создаю объект GDI, например кисть (CreateSolidBrush), объект кисти будет расположен в куче приложения GDI.exe?
Добавьте что-нибудь от себя.
1) У каждого процесса своя память. Ответ (a). Через специальные функции API можно залезть в память другого процесса (при наличии прав на отладку). Несколько процессов могут создать общую память для обмена данными.
На мой взгляд, ресурсы - это не память. Можно загрузить ресурсы из любого исполняемого файла (exe, dll).
2) Активность тут ни при чем. Я уже написал выше, что в память другого процесса можно залезть только используя специальный функции API. Адрес 1000 в одном процессе и адрес 1000 в другом процессе - это разные ячейки памяти. Возможно, память по адресу 1000 не выделена. Тогда при обращении по этому адресу возникнет ошибка Access Violation.
3) Не знаю. Раньше количество GDI-ресурсов было ограничено. Если их бесконтрольно создавать и не удалять, можно было сломать Windows.
Добавлю от себя, что в пункте 2 еще кот из окна упадет. Какой кот - тот, который из пылесоса сейчас лезет.
После "приложения GDI.exe" (которого нет) и прочих фантазий это вполне разумное продолжение событий.
Одно непонятно, при чем тут GDI, если ты не знаешь устройства ОС и памяти. Почему их именно на GDI надо изучать?
- Правила формирования имен файлов в windows Каковы правила формирования имен файлов windows? Расскажите пожалуйста коротко
- Windows10 на планшете сам обновился, остался 1гиг памяти, окатить не получается, пишет памяти нет, вопрос Как его теперь использовать, отключить обновления и сбросить до заводских настроек или как?
- Винда сама выделела 20Gb памяти оперативной памяти И они активно исползуются. Но это не фаел подкачки я изменял его размер но память осталась выделеной. Меня напригает активное использование моего SSD боюсь быстро выйдет из строя как мне уменьшить размер выделеной памяти оперативной памяти у меня 16гбоперативки
- Подскажите есть внем правила windows 10 pro с установкой Вот флешку usb скачал windows 10 pro и установил на ноутбук можно ли на другой ноутбук этого флешку с установкой windows 10 pro установить? За мной не придут полиция если я установил на другой ноутбук этого windows 10 pro подскажите пожалуйста