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



Download 12,06 Mb.
Pdf ko'rish
bet221/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   217   218   219   220   221   222   223   224   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Листинг 16.6. Пример make-файла для создания приложения
<1> NAME =
<2> OBJ5 =
<3> DEF =
<4>
<5>
<6>
<7>
$(OBJS) $(DEF)
<8>
/Tpe /aa /c
$(OBJS), $(NAME), , $(IMPORT), $(DEF)
<9>
<10>
, ,
Поясним наиболее значимые элементы приведенного файла. Мы уже упоми-
нали, что трансляция исходного файла производится программой tasm32.exe. При


404 Глава
Создание Windows-приложений на ассемблере
вызове ей передается ряд ключей (строки 1-6). Для формирования отладочной
информации вы можете указывать значения макрооператоров
(стро-
ка 4) и LINKDEBUG = /v (строка 5). Кроме этих необязательных ключей в строке 10
присутствует обязательный ключ
который требует, чтобы транслятор ассемб-
лера различал строчные и прописные буквы в идентификаторах программы. Как
вы смогли убедиться, это очень удобно при написании программ для Windows. Стро-
ка 8 содержит вызов компоновщика
Описания других ключей для этой
программы приведены в главе 6 и приложении В (http://www.piter.com/download).
При запуске программы make.exe не забывайте о нехитром, но полезном приеме
с перенаправлением вывода экранных сообщений в файл с помощью символа
M A K E . E X E -DDEBUG > р
В файле р текущего каталога читайте диагностические сообщения о процессе
построения приложения.
Углубленное программирование
на ассемблере для Win32
Реализация описанного ранее процесса разработки простого Windows-приложе-
ния на языке ассемблера может отнять довольно много сил и времени у неподго-
товленного человека.
скорее всего, это не будет пустой тратой драгоценных
для любого программиста жизненных сил. Цель материала, изложенного именно
в таком виде, — демонстрация того, что разработка Windows-приложения на языке
ассемблера — не такое уж нереальное дело. Напротив, у него даже есть свои досто-
инства. Нужно отметить, что объем учебного материала, необходимого для описа-
ния процесса разработки каркасного приложения для Windows, не зависит от язы-
ка, на котором предполагается вести программирование, так как основное внимание
уделяется не столько средствам языка, сколько описанию требований к функцио-
нированию приложения со стороны Windows. Каркасное приложение является
программой для Windows, которая в лучшем случае выводит строку
текста в окно приложения. С точки зрения сложности, не имеет смысла даже про-
водить ее сравнение с аналогичной программой для MS-DOS, выводящей строку
на экран. Логику работы и способы реализации такой программы для MS-DOS
в худшем случае можно объяснить минут за десять. Для объяснения логики рабо-
ты каркасного Windows-приложения неподготовленному слушателю
про-
читать целую лекцию, может быть, и не одну. И это простейшая программа. А где
же предел? Какими минимальными знаниями и умениями должен обладать
граммист, чтобы утверждать, что он является, если, конечно, можно так выразить-
ся, профессиональным Windows-программистом. Не претендуя на безусловную
попытаемся перечислить некоторые проблемы, которые программист дол-
жен научиться
в первую очередь.
Нужно понять общие принципы построения программы, работа которой управ-
ляется сообщениями.
II Нужно научиться выводить текст и графику в область окна приложения. Ос-
новная проблема здесь состоит в умении эффективно использовать


Углубленное программирование на ассемблере для Win32 405
ность средств Win32 API. Сам процесс формирования изображения в окне
Windows напоминает процесс формирования изображения в видеобуфере, как
это делалось в MS-DOS. Оба эти варианта вывода изображения можно срав-
нить с рисованием цветными мелками на школьной доске. Для того чтобы об-
новить содержимое окна, его необходимо либо полностью вывести заново, либо
сначала удалить ненужные фрагменты, сформировать на их месте новые и за-
тем вывести в определенное место в окне. Эта проблема называется проблемой
перерисовки изображения, и она тесно связана с тем, насколько эффективно ре-
шается следующая проблема.
Нужно организовать адекватную обработку сообщений. Эффективность и пра-
вильность работы программы напрямую зависит от того, насколько правильно
в ней организована обработка сообщений. В самом начале процесса обучения
написанию программ для Windows вы столкнетесь с необходимостью обработ-
ки такого сообщения, как WM_PAINT. Проблема здесь заключается в том, что
Windows не сохраняет содержимое окна или части окна при его свертывании
или скрытии под другим окном. Следить за содержимым своих окон должно
само приложение, а точнее, соответствующая оконная функция. Более подроб-
но о решении этой проблемы мы узнаем при рассмотрении вопроса перерисов-
ки изображения.
Нужно научиться создавать интерфейсную часть приложения. Интерфейс при-
ложения — это его визитная карточка. Первым, на что обращает внимание
пользователь, тем более если он непрофессионал, является именно этот эле-
мент работы приложения. Более того, движущей силой развития самой систе-
мы Windows является стремление к реализации идеи идеального интерфейса.
На сегодняшний день эту роль играет оконный интерфейс. Что будет завтра,
пока не ясно, так как оконный интерфейс действительно решает многие про-
блемы и до исчерпания его потребительского ресурса, наверное, еще далеко.
Основа оконного интерфейса — окно, в котором имеются две области: управ-
ляющая, с ее помощью осуществляется управление работой окна, и пользо-
вательская, которая обычно занимает большую часть окна, и именно в ней
пользователь формирует некоторое изображение. Управляющая область
окна приложения состоит из более элементарных интерфейсных компонентов:
меню, окон диалога, кнопок, панелей и т. д. Создание и организация работы со
многими из этих компонентов поддерживается Windows с помощью функций
Win32 API.
Нужно научиться обрабатывать пользовательский ввод.
Каждый пункт этого списка представляет лишь вершину некоторой иерархии
более частных проблем и может быть довольно глубоко детализирован вглубь. Ко-
в рамках нашего изложения сделать это не представляется возможным, да
и вряд ли нужно. Подобные вопросы хорошо изложены в литературе. Материал
данной главы подобран так, чтобы показать, как отражается на процессе разработ-
ки Windows-приложения выбор ассемблера в качестве основного языка програм-
мирования. Поэтому основное внимание мы уделяем не тому, как реализовать те
или иные элементы пользовательского интерфейса, а технологии сборки


406 Глава
Создание Windows-приложений на ассемблере
способного приложения с помощью пакета TASM (для
отличие только в
инструментарии). Исходя из этого далее покажем, как использовать ресурсы в
Windows-приложениях, написанных на ассемблере.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   217   218   219   220   221   222   223   224   ...   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