Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для 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-приложений процедурно- ориентированного типа.

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

Программы на ассемблере управляют как периферийным оборудованием персонального компьютера (ПК), так и нестандартными устройствами, присоединенными к ПК. Минимальные размеры программного кода обеспечивают высокое быстродействие работы таких устройств. Приложения реального времени используются повсеместно в системах управления в промышленности, научных и лабораторных исследованиях, в военных разработках. Особенность системных программ и утилит состоит в том, что они очень тесно взаимодействуют с операционной системой, и скорость выполнения таких приложений может существенно повлиять на общую производительность всей системы. Это в значительной степени относится и к разработке драйверов периферийных устройств компьютера и системных служб.


 
 
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru