Программирование на языке высокого уровня. Марапулец Ю.В. - 171 стр.

UptoLike

Составители: 

аппаратно-независимой графики. Благодаря функциям 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