<<
>>

Средства TASM для разработки Windows-приложений

Ранее мы подробно разобрались с тем, что собой представляет простое Windows- приложение, написанное на языке ассемблера. Излагая материал, мы упоминали имена файлов, которые нужны для получения работоспособного исполняемого модуля программы.
Для устранения возможных неясностей соберем и системати- зируем эту информацию. . При разработке Windows-приложений на языке ассемблера с помощью Win32 API вам нужен один из пакетов ассемблера — не обойтись без пакета TASM вер- сии 5.0. Современные 32-разрядные операционные системы Windows используют формат РЕ исполняемого файла. В состав пакета TASM 5.0 входят два компилято- ра ассемблера — 16- и 32-разрядный. Они имеют имена исполняемых файлов, со- ответственно, tasm.exe и tasm32.exe. То же касается и редакторов связей — tlink.exe и tlink32.exe. Получить файл формата РЕ можно только при совместном использо- вании файлов tasm32.exe и tlink32.exe. Для удобства работы, подобно тому, как мы это делали для 16-разрядных программ в главе 6, скопируйте все файлы 32-раз- рядной версии в отдельный каталог и назовите его, например, Work32.
Сюда же необходимо поместить файлы wiпdоwsА.iпс и imроrtЗ2.Иb, находящиеся среди фай- лов, прилагаемых к книге. Для создания программы нужны еще два файла: файл определений компонов- щика и файл описания ресурсов. Файл описания ресурсов будет рассмотрен в сле- дующем разделе. Что касается файла определений компоновщика, то его содержи- мое довольно подробно описывается в различных источниках, и его роль ничем не отличается от роли аналогичного файла при разработке Windows-приложений на других языках. Назначение файла определений компоновщика состоит в том, что- бы предоставить редактору связей информацию о способе загрузки программы. Несмотря на то что в архитектуре Win32 нет особого смысла использовать данный файл, редактор tlink32.exe требует указания этого файла среди файлов, подавае- мых ему в качестве входных.
Вы можете без проблем задействовать готовый вари- ант этого файла, находящийся среди файлов, прилагаемых к книге. Перечислим необходимые для разработки Windows-приложения файлы. Файл с исходным текстом программы (.asm). Формируется программистом. Включаемый файл с описаниями структур данных и констант Win32 (.inc или .аsh). Файл формируется программистом по мере расширения используемых им средств Win32. Источником информации для этого файла служат включае- мые файлы (.h) из пакета компилятора C/C+ + , например VC + + версии 4.0 и выше. я Файл с библиотекой импорта imроrt:З2.lib. Этот файл требуется компоновщику для разрешения внешних ссылок на функции Win32 API. Вы можете создать этот файл сами. Такая необходимость может возникнуть, если вам понадобятся функции из библиотек DLL, информация о которых отсутствует в существую- щем варианте файла imроrtЗ2.lib. Для этого существует специальная утилита implib.exe, поставляемая в пакете TASM 5.O. Командная строка для ее запуска имеет вид imрlib имя_файла_lib список_dll_библиотек Получить информацию о местонахождении конкретной функции Win32 API довольно просто. Многие справочные руководства по Windows при описании конкретной функции приводят и информацию о библиотеке DLL, где эта функ- ция содержится. * Файл с описанием ресурсов, используемых в приложении. ⅞ Другие файлы. Например, в рассмотренной нами программе каркасного при- ложения (см. листинг 16.4) используются звуковые файлы (.wav). ■ т Файлы tasm32, tlink32.exe и, возможно, некоторые другие вспомогательные фай- лы из пакета TASM 5.O. Следите внимательно за сообщениями. В том случае, если какого-либо файла будет недоставать, его нужно просто найти в каталоге \biп пакета TASM 5.0 и скопировать в свой рабочий каталог. Непосредственно в каталоге \biп работать не рекомендуется, иначе он моментально превратится в слабоструктурируемое нагромождение файлов. II Компилятор ресурсов brc32.exe или brcc32.exe. Компиляторы взяты из пакета C/C++ фирмы Borland.
Но если вы работаете с пакетом VC+ + , то вам может понадобиться компилятор ресурсов, входящий в этот пакет. Он называется rс,ехе. т Файл makefile и утилита make.exe. Эти файлы призваны облегчить процесс сбор- ки приложения в единый исполняемый модуль. Приведенный список файлов, необходимых для сборки Windows-приложения, довольно велик. Ранее процесс получения исполняемого файла у нас был простым и вполне управлялся из командной строки (без использования, например, make- файлов). Более сложные приложения требуют учета взаимосвязей между несколь- кими файлами. Данные файлы, в свою очередь, создаются или обрабатываются разными программными средствами, которые иногда требуют задания режимов работы многочисленными параметрами. Запоминать их и постоянно вводить вруч- ную тяжело, и такая работа вряд ли может быть признана эффективной. Для об- легчения процесса получения исполняемого файла используйте возможности, пре- доставляемые make-файлами. Make-файл для программиста — существенное облегчение в его работе. Тща- тельно разработав один раз make-файл для создания исполняемого файла своего приложения, вы впоследствии избавите себя от рутинной работы по формирова- нию необходимых для этого командных строк. Второй положительный эффект от использования make-файлов — упрощается работа автора по описанию процесса получения исполняемого модуля. Кстати, в роли автора можете оказаться и вы, когда разработаете свою программу и вместо длинного описания процесса ее сбор- ки предоставите пользователям make-файл, дополнив его необходимыми коммен- тариями. Информацию о правилах написания make-файлов можно найти среди прилагаемых к книге файлов в каталоге к главе 6. Make-файл для сборки прило- жения (см. листинг 16.4) представлен в листинге 16.6. Листинг 16.6. Пример make-файла для создания приложения рrg16_1 .ехе NAME = рrg16_1 ОВJ5 = $(NAME).оbj DЕF = $(NAME),dеf ТАSМDЕВUG=/zi LINКDЕВUG=/v IМРОRТ=imроrtЗ2 $(NAME).ЕХЕ: $(ОВJS) $ (DЕF) tliпkЗ2 /Тре /аа /с $(LINКDЕВUG) $(ОВJS), $ (NAME) , , $ (IMPORT) , $ (DЕF) .
asm.оbj: tasm32 $(ТАSМDЕВUG) /ml $&.аsm, , , Поясним наиболее значимые элементы приведенного файла. Мы уже упоми- нали, что трансляция исходного файла производится программой tasm32.exe. При вызове ей передается ряд ключей (строки 1-6). Для формирования отладочной информации вы можете указывать значения макрооператоров ТАSМDЕВUG =/ζΐ (стро- ка 4) и LINKDEBUG = /v (строка 5). Кроме этих необязательных ключей в строке 10 присутствует обязательный ключ /mL, который требует, чтобы транслятор ассемб- лера различал строчные и прописные буквы в идентификаторах программы. Как вы смогли убедиться, это очень удобно при написании программ для Windows. Стро- ка 8 содержит вызов компоновщика tliпkЗ2.ехе. Описания других ключей для этой программы приведены в главе 6 и приложении В (http: //www. piter. com / download). При запуске программы make. exe не забывайте о нехитром, но полезном приеме с перенаправлением вывода экранных сообщений в файл с помощью символа «>»: MAKE.EXE -DDEBUG > р В файле р текущего каталога читайте диагностические сообщения о процессе построения приложения.
<< | >>
Источник: В. И. Юров. Assembler. Учебник для вузов. 2-е изд. 2003

Еще по теме Средства TASM для разработки Windows-приложений:

  1. 9.2. Порядок разработки и внедрения информационных систем, технологий и средств обеспечения
  2. М.Руссинович, Д.Соломон. Внутреннее устройство Microsoft Windows (главы 1–4), 2005
  3. Приложение МЕДИТАЦИИ ДЛЯ ИНДИВИДУАЛЬНОГО И ПЛАНЕТАРНОГО ИСЦЕЛЕНИЯ
  4. 3.3. Научно-технические методы и средства, используемые для лабораторного исследования объектов
  5. Статья 322. Незаконная организация или содержание мест для употребление одурманивающих средств
  6. 3.2. Научно-технические средства и методы криминалистической техники, используемые для обнаружения, фиксации и изъятия доказательств
  7. Статья 200. Незаконные действия с документами на перевод, платежными карточками и иными средствами доступа к банковским счетам, оборудованием для их изготовления
  8. Статья 306. Использование средств, полученных от незаконного оборота наркотических средств, психотропных веществ, их аналогов или прекурсоров
  9. Статья 317. Организация или содержание мест для незаконного употребления, производства или изготовления наркотических средств, психотропных веществ или их аналогов
  10. 2.7. Разработка анкеты
  11. Разработка Плана
  12. 6. Разработка перспектив
  13. Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание, 2007
  14. Разработка и принятие Основного закона