Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Програмне середовище Windows




 

Розглянемо найбільш важливі моменти роботи Windows і принципи взаємодії програм з нею.

- Інтерфейс викликів функцій у Windows. Завдяки даному інтерфейсу доступ до системних ресурсів здійснюється через цілий радий системних функцій. Сукупність таких функцій називається прикладним програмним інтерфейсом, або API (Application Programming Interfase). Для взаємодії з Windows додаток запитує функції API, за допомогою яких реалізуються всі необхідні системні дії, такі як виділення пам'яті, виведення на екран, створення вікон і т.п. Бібліотека MFC інкапсулює багато функцій API.

- Бібліотеки динамічного завантаження (DLL). Оскільки API складається з великого числа функцій, може скластися враження, що при компіляції кожної програми, написаної для Windows, до неї підключається код досить значного об'єму. У дійсності це не так. Функції API містяться в бібліотеках динамічного завантаження (Dynamic Link Libraries, або DLL), які завантажуються в пам'ять тільки в той момент, коли до них відбувається звернення, тобто при виконанні програми. Розглянемо, як здійснюється механізм динамічного завантаження.

Динамічне завантаження забезпечує ряд істотних переваг. По-перше, оскільки практично всі програми використовують API-функції, то завдяки DLL-бібліотекам істотно заощаджується дисковий простір, яке в іншому випадку займався б великою кількістю повторюваного коду, що міститься в кожному з виконуваних файлів. По-друге, зміни та покращення в Windows-додатках зводяться до оновлення тільки вмісту DLL-бібліотек. Вже існуючі тексти програм не вимагають перекомпіляції.

- Інтерфейс GDI. Одним з підмножин API є GDI (Graphics Device Interfase - інтерфейс графічного пристрою). GDI - це та частина Windows, яка забезпечує підтримку апаратно-незалежної графіки. Завдяки функціям GDI Windows-додаток може виконуватися на самих різних комп'ютерах.

- Багатозадачність у Windows. Як відомо, всі версії Windows підтримують багатозадачність. У системах, починаючи з Windows 95, підтримується два типи багатозадачності: заснований на процесах і заснований на потоках.

Процес - це програма, яка виконується. При багатозадачності такого типу дві або більше програми можуть виконуватися паралельно. Звичайно, вони по черзі використовують ресурси центрального процесора і з технічної точки зору, виконуються не одночасно, але завдяки високій швидкості роботи комп'ютера це практично непомітно.

Потік - це окрема частина виконуваного коду. Назва походить від поняття "напрямок протікання процесу". У багатозадачності даного типу окремі потоки усередині одного процесу також можуть виконуватися одночасно. Всі процеси мають принаймні один потік, але з Windows 95 їх може бути кілька.

Отже, при роботі в цих операційних системах можливо паралельне виконання, як програм, так і окремих частин самих програм. Це дозволяє писати дуже ефективні програми.

Також існує поняття пріоритетна багатозадачність. У цьому випадку кожному активному потоку надається певний проміжок часу роботи процесора. По закінченню даного проміжку управління автоматично передається наступному потоку. Це не дає можливість програмам повністю захоплювати ресурси процесора. Інтуїтивно повинно бути зрозуміло, що такий спосіб більш кращий.

 

2. Основи програмування під Windows

Оскільки архітектура Windows-програм заснована на принципі повідомлень, всі ці програми містять деякі загальні компоненти. Зазвичай їх доводиться в явному вигляді включати в вихідний код. Але при використанні бібліотеки MFC це відбувається автоматично; немає необхідності витрачати час і зусилля на їх написання. Тим не менше, щоб до кінця розібратися, як працює Windows-програма, написана з використанням MFC, і чому вона працює саме так, необхідно в загальних рисах зрозуміти призначення цих компонентів.

- Функція WinMain (). Всі Windows-програми починають виконання з виклику функції WinMain (). При традиційному методі програмування це потрібно робити явно. З використанням бібліотеки MFC така необхідність відпадає, але функція таки існує.

- Функція вікна. Всі Windows-програми повинні містити спеціальну функцію, яка не використовується в самій програмі, але викликається самою операційною системою. Цю функцію зазвичай називають функцією вікна, або процедурою вікна. Вона викликається Windows, коли системі необхідно передати повідомлення в програму. Саме через неї здійснюється взаємодія між програмою і системою. Функція вікна передає повідомлення в своїх аргументах. Відповідно до термінології Windows, функції, що викликаються системою, називаються функціями зворотного виклику. Таким чином, функція вікна є функцією зворотного виклику.

Крім ухвалення дописи від Windows, функція вікна повинна викликати виконання дії, зазначеного в повідомленні.

У більшості Windows-програм задача створення функції вікна лежить на програміста. При використанні бібліотеки MFC така функція створюється автоматично.

- Цикл повідомлень. Як пояснювалося вище, Windows взаємодіє з програмою, посилаючи їй повідомлення. Всі додатки Windows повинні організувати так званий цикл повідомлень (зазвичай усередині функції WinMain ()). У цьому циклі кожне необроблене повідомлення повинно бути вилучено з черги повідомлень даного додатка і передано назад у Windows, яка потім викликає функцію вікна програми з даним повідомленням в якості аргументу. У традиційних Windows-програмах необхідно самостійно створювати і активізувати такий цикл. При використанні MFC це також виконується автоматично. Проте важливо пам'ятати, що цикл повідомлень все ж існує. Він є невід'ємною частиною будь-якої програми Windows.

- Клас вікна. Кожне вікно в Windows-додатку характеризується певними атрибутами, званими класом вікна. У традиційній програмі клас вікна повинен бути визначений і зареєстрований перш, ніж буде створено вікно. При реєстрації необхідно повідомити Windows, який вигляд повинне мати вікно і яку функцію воно виконує. У той же час реєстрація класу вікна ще не означає створення самого вікна. Для цього потрібно виконати додаткові дії. При використанні бібліотеки MFC створювати власний клас вікна немає необхідності. Замість цього можна працювати з одним з заздалегідь визначених класів, описаних в бібліотеці.

Структура Windows-програм відрізняється від структури програм інших типів. Це викликано двома обставинами: по-перше, способом взаємодії між програмою і Windows; по-друге, правилами, яким слід підкорятися для створення стандартного інтерфейсу Windows-додатка).

Мета Windows - дати людині, яка хоча б трохи знайомий з системою, можливість сісти за комп'ютер і запустити будь-який додаток без попередньої підготовки. Для цього Windows надає дружній інтерфейс користувача. Теоретично, якщо користувач зумів запустити одне Windows-додаток, то він зуміє запустити і будь-яке інше. Значна частина коду Windows-додатка призначена саме для організації інтерфейсу з користувачем.

Хоча створення зручного інтерфейсу "під Windows" є основним завданням при написанні будь Windows-програми, такий інтерфейс не створюється автоматично. Тобто цілком можна написати програму, в якій елементи інтерфейсу використовуються неефективно.

 


Поделиться:

Дата добавления: 2014-12-03; просмотров: 209; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты