Ресурсы Windows PE (расширение предыдущего Q.) - PullRequest
0 голосов
/ 03 ноября 2010

Исходя из ответа на мой предыдущий вопрос, я хотел бы задать еще один вопрос по этой теме.

До этой недели я считал, что вся графика за окнами на самом деле является просто кодом.Чтобы создать окно, меню, кнопку, я думал, что все это просто функция, которая передает некоторые аргументы в ОС.Но потом я нашел немного информации о ресурсах.Из всего, что я нашел в Интернете, я считаю, что компилятор на самом деле ищет определенные функции, которые создают графику, и сохраняет их и их структуры данных в другом месте в файле PE, чем в другом коде.

То, что он обрабатывает их иначе, чем другой код.Я хочу спросить, почему?Я имею в виду, почему бы просто не иметь функции, которые для этого вызывают WinAPI?Спасибо.

РЕДАКТИРОВАТЬ: И как даже, например, компилятор C может разбить программу на ресурсы и другой код?

Я всегда предполагал, что любой компилятор C, даже для старого, до Windows мог генерировать соответствующиекод для запуска в Windows, если он предоставлен кодом запуска функций CRT и WinMain.И только базовые знания структуры PE, только разделы кода и данных ....

1 Ответ

2 голосов
/ 03 ноября 2010

Ресурсы - это просто данные.Данные не имеют никакой возможности оживить внешний вид окна.Это требует кода, который использует данные.Живет ли этот код в Windows или в вашей программе, на самом деле не имеет значения.Это все еще код.

Так что, да, весь код выполняет свою работу.Вы делаете это правильно, если это код, который вам не нужно писать.И не нужно поддерживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...