Шаг 9.
Основы программирования в ОС Windows
На этом шаге мы рассмотрим основные правила создания программ в операционной системе Windows.
На этом шаге мы рассмотрим два момента, которые крайне важны для начала
программирования на Ассемблере в среде Windows. Это:
- вызов системных функций (API-функций) и
- возможные структуры программ для Windows.
Можно выделить три типа структуры программ, которые условно можно назвать
- классической структурой,
- диалоговой (основное окно - диалоговое) и, наконец,
- консольной, или безоконной, структурой.
Здесь и далее мы будем использовать первую, классическую структуру.
Итак, начнем с нескольких общих положений о программировании в Windows.
- Программирование в Windows основывается на использовании функций
API (Application Program Interface - интерфейс программного приложения).
Их количество достигает двух тысяч. Ваша программа в значительной степени будет
состоять из таких вызовов. Все взаимодействие с внешними устройствами и
ресурсами операционной системы будет происходить посредством таких функций.
- Список функций API и их описание можно брать из файла
WIN32.HLP, который поставляется, например, с пакетом Borland C++.
- Главным элементом программы в среде Windows является
окно. Для каждого окна определяется своя процедура обработки
сообщений.
- Окно может содержать элементы управления: кнопки, списки, окна редактирования и др.
Эти элементы, по сути, также являются окнами, но обладающими особыми свойствами.
События, происходящие с этими элементами (и самим окном), приводят к приходу
сообщений в процедуру окна.
- Операционная система Windows использует линейную адресацию
памяти. Другими словами, всю память можно рассматривать как один сегмент.
Для программиста на языке ассемблера это означает, что адрес любой ячейки памяти будет
определяться содержимым одного 32-битного регистра, например ЕВХ.
- Следствием пункта 5 является то, что мы фактически не ограничены
в объеме данных, кода или стека (объеме локальных переменных). Сегменты в тексте
программы играют теперь другую роль. Они позволяют задать отдельным фрагментам кода
(секциям) определенные свойства: запрет на запись, общий доступ и т. д.
- Операционная система Windows является многозадачной
средой. Каждая задача имеет свое адресное пространство и свою очередь
сообщений. Более того, даже в рамках одной программы может быть
осуществлена многозадачность - любая процедура может быть запущена как самостоятельная
задача.
Итак, после теоретических положений самое время перейти к программным примерам.
На следующем шаге мы рассмотрим вызов функций API.
Предыдущий шаг
Содержание
Следующий шаг