Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 92

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 92 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 922021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 92)

Кстати, в роли автора можете оказаться и вы,когда разработаете свою программу и вместо длинного описания процесса ее сборки предоставите пользователям make-файл, дополнив его необходимыми комментариями. Информацию о правилах написания make-файлов можно найти средиприлагаемых к книге файлов в каталоге к главе 6. Make-файл для сборки приложения (см. листинг 16.4) представлен в листинге 16.6.Листинг 16.6. Пример make-файла для создания приложения prg16_1.exe<1> NAME = рг§16_1<2> OBJ5 = $(NAME).obj<3> DEF = $(NAME).def<4>TASMDEBUG=/zi<5>LINKDEBUG=/v<6>IMPORT=import32<7>$(NAME).EXE: $(OBJS) $(DEF)<8> tlink32 /Tpe /aa /c S(LINKDEBUG) $(OBJS), $(NAME), , $(IMPORT), $(DEF)<9>.asm.obj:<10> tasm32 S(TASMDEBUG) /ml $&.asm, , ,Поясним наиболее значимые элементы приведенного файла.

Мы уже упоминали, что трансляция исходного файла производится программой tasm32.exe. При404Глава 16. Создание Windows-приложений на ассемблеревызове ей передается ряд ключей (строки 1-6). Для формирования отладочнойинформации вы можете указывать значения макрооператоров TASMDEBUG =/zi (строка 4) и LINKDEBUG = /v (строка 5). Кроме этих необязательных ключей в строке 10присутствует обязательный ключ /ml, который требует, чтобы транслятор ассемблера различал строчные и прописные буквы в идентификаторах программы.

Каквы смогли убедиться, это очень удобно при написании программ для Windows. Строка 8 содержит вызов компоновщика tlink32.exe. Описания других ключей для этойпрограммы приведены в главе 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-программистом. Не претендуя на безусловнуюистину, попытаемся перечислить некоторые проблемы, которые программист должен научиться решать в первую очередь.itНужно понять общие принципы построения программы, работа которой управляется сообщениями.II Нужно научиться выводить текст и графику в область окна приложения. Основная проблема здесь состоит в умении эффективно использовать совокуп-Углубленное программирование на ассемблере для Win32405ность средств Win32 API.

Сам процесс формирования изображения в окнеWindows напоминает процесс формирования изображения в видеобуфере, какэто делалось в MS-DOS. Оба эти варианта вывода изображения можно сравнить с рисованием цветными мелками на школьной доске. Для того чтобы обновить содержимое окна, его необходимо либо полностью вывести заново, либосначала удалить ненужные фрагменты, сформировать на их месте новые и затем вывести в определенное место в окне. Эта проблема называется проблемойперерисовки изображения, и она тесно связана с тем, насколько эффективно решается следующая проблема.Нужно организовать адекватную обработку сообщений.

Эффективность и правильность работы программы напрямую зависит от того, насколько правильнов ней организована обработка сообщений. В самом начале процесса обучениянаписанию программ для Windows вы столкнетесь с необходимостью обработки такого сообщения, как WM_PAINT. Проблема здесь заключается в том, чтоWindows не сохраняет содержимое окна или части окна при его свертыванииили скрытии под другим окном. Следить за содержимым своих окон должносамо приложение, а точнее, соответствующая оконная функция. Более подробно о решении этой проблемы мы узнаем при рассмотрении вопроса перерисовки изображения.ж Нужно научиться создавать интерфейсную часть приложения.

Интерфейс приложения — это его визитная карточка. Первым, на что обращает вниманиепользователь, тем более если он непрофессионал, является именно этот элемент работы приложения. Более того, движущей силой развития самой системы Windows является стремление к реализации идеи идеального интерфейса.На сегодняшний день эту роль играет оконный интерфейс. Что будет завтра,пока не ясно, так как оконный интерфейс действительно решает многие проблемы и до исчерпания его потребительского ресурса, наверное, еще далеко.Основа оконного интерфейса — окно, в котором имеются две области: управляющая, с ее помощью осуществляется управление работой окна, и пользовательская, которая обычно занимает большую часть окна, и именно в нейпользователь формирует некоторое изображение. Управляющая областьокна приложения состоит из более элементарных интерфейсных компонентов:меню, окон диалога, кнопок, панелей и т.

д. Создание и организация работы сомногими из этих компонентов поддерживается Windows с помощью функцийWin32 API.is Нужно научиться обрабатывать пользовательский ввод.Каждый пункт этого списка представляет лишь вершину некоторой иерархииболее частных проблем и может быть довольно глубоко детализирован вглубь. Конечно, в рамках нашего изложения сделать это не представляется возможным, даи вряд ли нужно. Подобные вопросы хорошо изложены в литературе. Материалданной главы подобран так, чтобы показать, как отражается на процессе разработки Windows-приложения выбор ассемблера в качестве основного языка программирования.

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

Исходя из этого далее покажем, как использовать ресурсы вWindows-приложениях, написанных на ассемблере.Ресурсы Windows-приложенийна языке ассемблераДля включения ресурсов в Windows-приложения, написанные на ассемблере, задействуется та же самая технология, что и для программ на языках C/C++. Ресурс — это специальный объект, используемый программой, но не определяемыйв ее теле. К ресурсам относятся следующие элементы пользовательского интерфейса: значки, меню, окна диалога, растровые изображения.Определение ресурсов производится в текстовом файле с расширением .гс,в котором для описания каждого типа ресурса используются специальные операторы. Подготовку этого файла можно вести двумя способами: ручным и автоматизированным.Ручной способ предполагает:т что разработчик ресурса хорошо знает операторы, необходимые для описанияконкретного ресурса;ш что ввод текста ресурсного файла выполняется с помощью редактора, которыйне добавляет в текст элементы форматирования, например редактора Блокнот(notepad.exe), входящего в состав программного обеспечения Windows.Автоматический способ создания ресурсного файла предполагает использование специальной программы — редактора ресурсов, который позволяет визуализировать процесс создания ресурса.

Конечные результаты работы этой программымогут быть двух видов: в виде текстового файла с расширением .гс, который впоследствии можно подвергнуть ручному редактированию, либо в виде двоичногофайла, уже пригодного к включению в исполняемый файл приложения.Будем предполагать, что описание ресурсов в текстовом виде получено и находится в файле ресурсов с расширением .гс. Далее это описание должно быть преобразовано в вид, пригодный для включения в общий исполняемый файл приложения. Для этого необходимо выполнить перечисленные далее шаги.*1.

Откомпилировать ресурсный файл. На этом шаге выполняется преобразование текстового представления ресурсного файла с расширением .гс в двоичноепредставление с расширением .res. Для этого в пакете TASM есть специальнаяпрограмма brc32.exe — компилятор ресурсов.2. Включить ресурсы в исполняемый файл приложения. Это действие выполняеткомпоновщик tlink32.exe, которому в качестве последнего параметра должнобыть передано имя ресурсного файла (.res).Далее на конкретных примерах мы рассмотрим порядок применения этих программных средств для включения некоторых типов ресурсов в Windows-приложения.Меню в Windows-приложенияхМеню в системе Windows являются, пожалуй, самым распространенным элементом пользовательского интерфейса. Мы не будем особенно вдаваться в детали раз-Углубленное программирование на ассемблере для Win32407работки приложения с меню, так как это уже делалось при рассмотрении каркасного приложения.

Характеристики

Тип файла
PDF-файл
Размер
14,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6390
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее