Турбо Ассемблер TASM предоставляет вам семь мощных автоном- ных утилит. Вы можете использовать их для файлов TASM, а также для любых других файлов. Это такие утилиты, как: ¦ MAKE (включая утилиту TOUCH; автономный менеджер прог- рамм); ¦ TLINK (компоновщик); ¦ TLIB (библиотекарь); ¦ TASMHELP (оперативный справочник); ¦ GREP (утилита поиска текста в файлах); ¦ OBJXREF (утилита для работы с перекрестными ссылками в объектных модулях); ¦ TCREF (утилита для работы с перекрестными ссылками); ¦ H2ASH (утилита-преобразователь файлов .h в файл .ash). Подробности об использовании утилит MAKE, TOUCH, TLINK, GREP, OBJXREF, TASMHELP, H2ASH можно узнать в документации по компилятору. TASMHELP работает аналогично утилите THELP, описание которой также можно найти в документации по компилятору. О том, как использовать утилиту TCREF в текстовых файлах, можно узнать файлах документации на дисках Турбо Ассемблера. Утилита H2ASH также описывается в файлах на дисках Турбо Ассемблера, но пос- кольку это новая утилита, мы подробнее коснемся ее в данном при- ложении.Утилита-преобразователь H2ASH
Модули Си и С++ в программе обычно совместно используют оп- ределение типов и структур данных. Это делается с помощью включения небольших файлов (файлов-заголовков), которые содержат определения типов и структуры данных, используемые в нескольких модулях. Файл заголовка в Си/С++ имеет обычно имя с расширением .H. Ассемблируемые модули обычно имеют файлы заголовков с расшире- нием .ASH (или .INC). Программы, содержащие модули, написанные на Си/С++ и модули Турбо Ассемблера, должны иметь возможность совместного определе- ния типов и структур данных. Этому способствует утилита H2ASH. Утилита H2ASH преобразует файлы заголовков Си/С++ в файлы заголовков языка Ассемблера. Как и исходные файлы с расширением .H полученные в результате файлы с расширением .ASH сами не со- держат программу. Если для вызова H2ASH вы используете следующий синтаксис: H2ASH [[параметры] <имя_файла> [<имя_файла> .]] где каждое поле "имя_файла" задает имя конвертируемого файла за- головка. Утилита H2ASH предполагает, что преобразуемый файл имеет по умолчанию расширение .H. Для каждого обрабатываемого файла со- ответствующий выходной файл имеет расширение .ASH. "Параметры" соответствуют параметрам командной строки компи- лятора Borland C++, а также специфическим параметрам утилиты H2ASH (которые соответствуют параметрам -q Турбо Ассемблера). См. "Руководство пользователя Bоrland C++" и оперативный справочник, где можно найти описания данных параметров. Утилита H2ASH преобразует следующие конструкции: - все основные типы языка Си; - типы ENUM (в типы ENUM TASM); - #IFDEF (в эквивалентные IFDEF Ассемблера); - #DEFINE (в определения EQU); - структуры и объединения (в структуры и объединения Турбо Ассемблера); - структуры с битовыми полями (в записи Ассемблера RECORD); - определения TYPEDEF (в TYPEDEF Ассемблера); - классы без множественного наследования и без виртуальных базовых классов; - элементы классов; - переопределения операций. Утилита-преобразователь имеет следующие ограничения: - весь преобразуемый код игнорируется, выполняемый код не генерируется; - директивы #INCLUDE в выходных файлах полностью расширяются; - в выводе Ассемблера может возникнуть конфликт имен, так как правила области действия С++ существенно отличаются от правил Ассемблера (помочь здесь может использование режима Ideal); Преобразователь H2ASH не только облегчает организацию интер- фейса между С/С++ и языком Ассемблера (с максимальной производи- тельностью). H2ASH автоматически преобразует описания базовых классов С++ в эквивалентные объектные описания Ассемблера и опре- деляет "нескорректированные" имена методов. При записи базового класса на языке Ассемблера мы рекомендуем вам использовать следу- ющую процедуру: 1. Написать описание класса в файле заголовка языка Си. 2. Включить описание файла заголовка Си во все классы-потом- ки и модули на языке Си, которые используют этот базовый класс. 3. Используйте преобразователь H2ASH для файла заголовка с целью получения объектного файла заголовка Ассемблера (этот процесс можно автоматизировать с помощью формирую- щего файла). 4. Включите объектный файл заголовка Ассемблера в модуль, где записаны методы на языке Ассемблера. Более подробную информацию об утилите H2ASH можно найти в текстовых файлах документации на дисках Турбо Ассемблера.
Назад | Содержание | Вперед