Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet205/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   201   202   203   204   205   206   207   208   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Глава
Создание
Windows-приложений
на ассемблере
 Особенности разработки Windows-приложений
 Каркасное Windows-приложение на языке C/C++
 Каркасное Windows-приложение на ассемблере
 Средства TASM для разработки Windows-приложений
 Расширенное программирование на ассемблере
для Win32 API
I* Ресурсы Windows-приложений на языке ассемблера
 Меню в Windows-приложениях
 Перерисовка изображения
 Использование окон диалога
 Работа с графикой
Программирование для операционной системы Windows всегда было занятием не
из легких, и
эту тему написано немало книг. Сказать что-то новое довольно труд-
но, но и обойти эту тему в книге, посвященной одному из языков программирова-
ния, на современном этапе развития вычислительной техники было бы не совсем
правильно. Сегодня трудно найти компьютер, на котором бы не была установлена
одна из версий Windows, если, конечно, на нем не стоит что-то из «мира» UNIX.
Но в этом учебнике речь будет идти исключительно о программировании для
Windows на платформе Intel.
В подавляющем большинстве книг о программировании для Windows изложе-
ние, как правило, ведется на базе языков
реже — на базе Pascal. А что же


366 Глава
Создание Windows-приложений на ассемблере
ассемблер — в стороне? Конечно, нет! Мы не раз обращали ваше внимание на пра-
вильное понимание места ассемблера в архитектуре компьютера. Любая програм-
ма на языке самого высокого уровня по сути представляет собой последователь-
ность машинных кодов. А раз так, то всегда остается теоретическая возможность
ту же программу, но уже на языке ассемблера. Чем можно обосновать
необходимость разработки Windows-приложений на языке ассемблера? Приведем
следующие аргументы:
язык ассемблера позволяет программисту полностью контролировать создава-
емый им программный код и оптимизировать его по своему усмотрению;
компиляторы языков высокого уровня помещают в загрузочный модуль про-
граммы избыточную информацию, поэтому эквивалентные исполняемые мо-
дули, исходный текст которых написан на ассемблере, имеют в несколько раз
меньший размер;
ж при программировании на ассемблере сохраняется полный доступ аппарат-
ным ресурсам компьютера;
8 приложение, написанное на ассемблере, как правило, быстрее загружается
в оперативную память компьютера;
Ж приложение, написанное на ассемблере, обладает, как правило, более высокой
скоростью работы и ответа на действия пользователя.
Разумеется, эти аргументы не следует воспринимать, как некоторую реклам-
ную кампанию в поддержку языка ассемблера. Тем более что компиляторы язы-
ков высокого уровня постоянно совершенствуются и подчас способны создавать
весьма близкий по эффективности к ассемблерному. По этой причине приве-
денные аргументы не являются бесспорными. И все же нельзя забывать о том, что
существует бесконечное множество прикладных задач, ждущих своей очереди на
компьютерную реализацию. Далеко не все из этих задач требуют тяжеловесных
средств разработки — многие из них могут быть изящно исполнены на языке ас-
семблера, не теряя привлекательности, например, оконных Windows-приложений.
Перед началом обсуждения поясним, в чем состоит разница между программи-
рованием для DOS и для Windows. Операционные системы MS-DOS и Windows
поддерживают две совершенно разные идеологии программирования. В чем раз-
ница? Программа DOS после своего запуска должна быть постоянно активной.
Если ей, к примеру, требуется получить очередную порцию данных с устройства
ввода-вывода, то она сама должна выполнять соответствующие запросы к опера-
ционной системе. При этом программа DOS работает по определенному алгорит-
му, она всегда знает, что и когда ей следует делать. В Windows все наоборот. Про-
грамма пассивна. После запуска она ждет, когда ей уделит внимание операционная
система. Операционная система делает это посылкой специально оформленных
групп данных, называемых сообщениями. Сообщения могут быть разного типа, они
функционируют в системе довольно хаотично, и приложение не знает, какого ти-
па сообщение придет следующим. Отсюда следует, что логика построения
Windows-приложения должна обеспечивать корректную и предсказуемую работу
при поступлении сообщений любого типа. Тут можно провести определенную ана-
логию между механизмом сообщений Windows и механизмом прерываний в архи-


Программирование оконных Windows-приложений 367
тектуре IBM PC. Для нормального функционирования своей программы програм-
мист должен уметь эффективно использовать функции интерфейса прикладного
программирования (Application Program Interface, API) операционной системы.
Windows поддерживает два типа приложений.
 Оконное приложение строится на базе специального набора функций API, со-
ставляющих графический интерфейс пользователя (Graphic User Interface,
GUI). Оконное приложение представляет собой программу, которая весь вы-
вод на экран производит в графическом виде. Первым результатом работы окон-
ного приложения является отображение на экране специального объекта — окна.
После того как окно появилось на экране, вся работа приложения направлена
на то, чтобы поддерживать его в актуальном состоянии.
ж Неоконное приложение, также называемое
представляет собой про-
грамму, работающую в текстовом режиме. Работа консольного приложения
напоминает работу программы MS-DOS. Но это лишь внешнее впечатление.
Поддержка работы консольного приложения обеспечивается специальными
функциями Windows.
Вся разница между двумя типами Windows-приложений состоит в том, с ка-
ким типом информации они работают. Основной тип приложений в Windows —
оконные, поэтому с них мы и начнем знакомство с процессом разработки программ
для этой операционной системы.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   201   202   203   204   205   206   207   208   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish