Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей
|
Использование ассемблера
для разработки Windows-приложений
Несмотря на то, что ассемблер воспринимается многими программистами
только как вспомогательное средство для улучшения программ, его значение
как самостоятельного средства разработки высокоэффективных приложений
в последнее время очень изменилось.
До сих пор существует некий стереотип, касающийся разработки приложений
на ассемблере. Среди многих программистов, пишущих на языках высокого
уровня, бытует мнение о сложности ассемблера, плохой структурируемости программного обеспечения и плохой переносимости кода при
переходе на другие платформы. Возможно, многие помнят разработку программ
на ассемблере в MS-DOS, что действительно требовало немалых усилий.
Кроме того, отсутствие в то время современных средств программирования
на ассемблере замедляло разработку сложных проектов.
В последнее время ситуация изменились благодаря появлению принципиально
новых и эффективных средств быстрой разработки на языке ассемблера.
Специально для этого были разработаны мощные средства быстрого
проектирования (Rapid Application Development — RAD), такие как
MASM32, Visual Assembler, RADASM. Размер и быстродействие оконного
приложения SDI (single-document interface), написанного на ассемблере,
просто впечатляет!
Такие средства разработки имеют, как правило, компиляторы ресурсов,
большие библиотеки готовых к использованию функций и мощные средства
отладки. Можно смело утверждать, что разработка программ на ассемблере
стала столь же легкой, как и на языках высокого уровня.
Основная причина, по которой ассемблер не применялся массово для разработки
программ, — отсутствие средств быстрого проектирования — исчезла.
Какие приложения можно проектировать на ассемблере? Проще ответить
на другой вопрос — что не следует писать на ассемблере? Небольшие
и средние по объему 32-разрядные приложения для Windows можно целиком
написать на ассемблере. Однако если разрабатывать сложную программу,
требующую применения самых современных технологий, то лучше использовать
языки высокого уровня с последующей оптимизацией отдельных
участков кода на ассемблере.
Существует еще одна проблема использования ассемблера, связанная с тем,
что этот язык рассчитан на разработку процедурно-ориентированных приложений
и не использует методы объектно-ориентированного программирования
(ООП). Именно это приводит к некоторым ограничениям при использовании
ассемблера. Тем не менее это никак не мешает применять язык
ассемблера для написания классических Windows-приложений процедурно-
ориентированного типа.
Современные средства разработки программ на ассемблере не только позволяют
создать графический интерфейс пользователя, но и сохраняют
фундаментальное преимущество ассемблера: фантастически малый размер
исполняемого модуля. Короткие быстрые приложения на ассемблере находят
применение там, где размеры кода и его быстродействие являются критическими
параметрами. Сферами применения таких приложений являются
системы реального времени, системные утилиты и программы, а также
драйверы устройств.
Программы на ассемблере управляют как периферийным оборудованием
персонального компьютера (ПК), так и нестандартными устройствами, присоединенными
к ПК. Минимальные размеры программного кода обеспечивают
высокое быстродействие работы таких устройств. Приложения
реального времени используются повсеместно в системах управления в
промышленности, научных и лабораторных исследованиях, в военных разработках.
Особенность системных программ и утилит состоит в том, что они очень
тесно взаимодействуют с операционной системой, и скорость выполнения
таких приложений может существенно повлиять на общую производительность
всей системы. Это в значительной степени относится и к разработке
драйверов периферийных устройств компьютера и системных служб.
<< Назад В начало Далее >> |
|