[an error occurred while processing this directive]
Вот поэтому у меня проблем и не возникает. Если мне надо "выжать" из программы десяток
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено _Bill 25 апреля 2006 г. 16:17
В ответ на: И ВООБЩЕ, Ребята, вы с этими ассемблерными вставками и препроцессором соэдаете себе массу трудностей, которые отправлено _Bill 25 апреля 2006 г. 15:30

лишних байт или пару микросекунд, я просто переписываю функцию на ассемблере и ввожу ассемблерный модуль в проект.
Только надо иметь в виду, что эконмия памяти и эконмия времени в программах вещи часто несовместимые. И методы оптимизации программ или по памяти, или по времени на уровне ЯВУ описаны в литературе. Используйте их не надеясь на оптимизирующие способности компилятора и все будет нормально.
Конечно, есть особые случаи, когда требуются некоторые операции, которые невозможно (или просто громоздко) описать на ЯВУ. Тут только один способ - ассемблер. Но его лучше (и, главное, без проблем) использовать в отдельном модуле.
И еще, ассемблерные вставки не дают компилятору оптимизировать программу наилучшим образом. Поэтому если вставка сэконмит вам время или байты в одном месте, то в другом месте вся эта экономия обернется потерей эффективности всей программы в целом. Может получиться так, что возни много, а реального эффекта нет.
Конечно, можно пользоваться всем. Но нужно это делать в меру и осторожно. В данном случае я так и не понял, почему обязательно использовать именно ассемблерную вставку или макроопределение. Все это делается на Си с таким же успехом, и без проблем.
Возможно парадокс, чем точнее и подробнее опишешь компилятору что именно нужно сделать, тем эффективнее получится код.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru