Составители:
Рубрика:
аппаратно-независимой графики. Благодаря функциям GDI Windows-приложение может
выполняться на различных ПЭВМ.
Еще одной особенность Windows 9x является многозадачность, причем поддержи-
вается два типа многозадачности: основанная на процессах и основанная на потоках. Да-
вайте рассмотрим их чуть подробнее.
Процесс – это программа, которая выполняется. При многозадачности такого типа
две или более программы могут выполняться параллельно. Конечно, они по очереди ис-
пользуют ресурсы центрального процессора и с технической точки зрения, выполняются
неодновременно, но благодаря высокой скорости работы компьютера это практически
незаметно.
Поток – это отдельная часть исполняемого кода. Название произошло от понятия
“направление протекания процесса”. В многозадачности данного типа отдельные потоки
внутри одного процесса также могут выполняться одновременно. Все процессы имеют
по крайней мере один поток, но в самой Windows их может быть несколько.
Взаимодействие программ и Windows. Во многих операционных системах взаи-
модействие между системой и программой инициализирует программа. Например, в
DOS программа запрашивает разрешение на ввод и вывод данных. Говоря другими сло-
вами, не- Windows-программы сами вызывают операционную систему. Обратного про-
цесса не происходит. В Windows все совершенно наоборот: именно система вызывает
программу. Это осуществляется следующим образом: программа ожидает получения со-
общения от Windows. Когда это происходит, то выполняется некоторое действие. После
его завершения программа ожидает следующего сообщения.
Windows может посылать программе сообщения множества различных типов. На-
пример, каждый раз при щелчке мышью в окне активной программы посылается соот-
ветствующее сообщение. Другой тип сообщений посылается, когда необходимо обно-
вить содержимое активного окна. Сообщения посылаются также при нажатии клавиши,
если программа ожидает ввода с клавиатуры. Необходимо запомнить одно: по отноше-
нию к программе сообщения появляются случайным образом. Вот почему Windows-
программы похожи на программы обработки прерываний: невозможно предсказать, ка-
кое сообщение появиться в следующий момент.
Поскольку архитектура Windows-программ основана на принципе сообщений, все
эти программы содержат некоторые общие компоненты. Обычно их приходится в явном
виде включать в исходный код. Но, к счастью, при использовании библиотеки MFC это
происходит автоматически; нет необходимости тратить время и усилия на их написание.
Тем не менее, чтобы до конца разобраться, как работает Windows-программа, написан-
ная с использованием MFC, и почему она работает именно так, необходимо в общих
чертах понять назначение этих компонентов.
Функция WinMain(). Все Windows-программы начинают выполнение с вызова
функции WinMain(). При традиционном методе программирования это нужно делать яв-
но. С использованием библиотеки MFC такая необходимость отпадает, но функция все-
таки существует.
Функция окна. Все Windows-программы должны содержать специальную функ-
цию, которая не используется в самой программе, но вызывается самой операционной
системой. Эту функцию обычно называют
функцией окна, или процедурой окна. Она
вызывается Windows, когда системе необходимо передать сообщение в программу.
Именно через нее осуществляется взаимодействие между программой и системой.
Функция окна передает сообщение в своих аргументах. Согласно терминологии Win-
dows, функции, вызываемые системой, называются
функциями обратного вызова. Та-
ким образом, функция окна является функцией обратного вызова. Помимо принятия со-
общения от Windows, функция окна должна вызывать выполнение действия, указанного
в сообщении. Конечно, программа не обязана отвечать на все сообщения, посылаемые
Windows. Поскольку их могут быть сотни, то большинство сообщений обычно обраба-
171
аппаратно-независимой графики. Благодаря функциям GDI Windows-приложение может выполняться на различных ПЭВМ. Еще одной особенность Windows 9x является многозадачность, причем поддержи- вается два типа многозадачности: основанная на процессах и основанная на потоках. Да- вайте рассмотрим их чуть подробнее. Процесс – это программа, которая выполняется. При многозадачности такого типа две или более программы могут выполняться параллельно. Конечно, они по очереди ис- пользуют ресурсы центрального процессора и с технической точки зрения, выполняются неодновременно, но благодаря высокой скорости работы компьютера это практически незаметно. Поток – это отдельная часть исполняемого кода. Название произошло от понятия “направление протекания процесса”. В многозадачности данного типа отдельные потоки внутри одного процесса также могут выполняться одновременно. Все процессы имеют по крайней мере один поток, но в самой Windows их может быть несколько. Взаимодействие программ и Windows. Во многих операционных системах взаи- модействие между системой и программой инициализирует программа. Например, в DOS программа запрашивает разрешение на ввод и вывод данных. Говоря другими сло- вами, не- Windows-программы сами вызывают операционную систему. Обратного про- цесса не происходит. В Windows все совершенно наоборот: именно система вызывает программу. Это осуществляется следующим образом: программа ожидает получения со- общения от Windows. Когда это происходит, то выполняется некоторое действие. После его завершения программа ожидает следующего сообщения. Windows может посылать программе сообщения множества различных типов. На- пример, каждый раз при щелчке мышью в окне активной программы посылается соот- ветствующее сообщение. Другой тип сообщений посылается, когда необходимо обно- вить содержимое активного окна. Сообщения посылаются также при нажатии клавиши, если программа ожидает ввода с клавиатуры. Необходимо запомнить одно: по отноше- нию к программе сообщения появляются случайным образом. Вот почему Windows- программы похожи на программы обработки прерываний: невозможно предсказать, ка- кое сообщение появиться в следующий момент. Поскольку архитектура Windows-программ основана на принципе сообщений, все эти программы содержат некоторые общие компоненты. Обычно их приходится в явном виде включать в исходный код. Но, к счастью, при использовании библиотеки MFC это происходит автоматически; нет необходимости тратить время и усилия на их написание. Тем не менее, чтобы до конца разобраться, как работает Windows-программа, написан- ная с использованием MFC, и почему она работает именно так, необходимо в общих чертах понять назначение этих компонентов. Функция WinMain(). Все Windows-программы начинают выполнение с вызова функции WinMain(). При традиционном методе программирования это нужно делать яв- но. С использованием библиотеки MFC такая необходимость отпадает, но функция все- таки существует. Функция окна. Все Windows-программы должны содержать специальную функ- цию, которая не используется в самой программе, но вызывается самой операционной системой. Эту функцию обычно называют функцией окна, или процедурой окна. Она вызывается Windows, когда системе необходимо передать сообщение в программу. Именно через нее осуществляется взаимодействие между программой и системой. Функция окна передает сообщение в своих аргументах. Согласно терминологии Win- dows, функции, вызываемые системой, называются функциями обратного вызова. Та- ким образом, функция окна является функцией обратного вызова. Помимо принятия со- общения от Windows, функция окна должна вызывать выполнение действия, указанного в сообщении. Конечно, программа не обязана отвечать на все сообщения, посылаемые Windows. Поскольку их могут быть сотни, то большинство сообщений обычно обраба- 171
Страницы
- « первая
- ‹ предыдущая
- …
- 169
- 170
- 171
- 172
- 173
- …
- следующая ›
- последняя »