[an error occurred while processing this directive]
Ответ: Прошу прощения, но по-моему Ваши вопросы адресованы мне.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 12 июля 2002 г. 16:20
В ответ на: продолжение.. отправлено Engine 12 июля 2002 г. 13:49

Об оптимизации. Я вседа пользуюсь оптимизацией по скорости (уровень HIGH), но оказывается, что при этом размер программы зачастую оказывается меньше, чем если бы использовалась оптимизация по размеру скажем тоже с уровнем HIGH. И это не так удивительно, как может показаться на первый взгляд. Дело в том, что стараясь уменьшить размер программы компилятор заменяет последовательность команд вызовом ряда внутренних функций (пролог, эпилог и т.д.). И хотя вызов функции вроде бы сокращает размер кода, но при этом размер программы увеличивается в целом за счет включения в программу большого числа внутренних функций.
Флаг Function inlining находится в окошке Enabled optimizations на закладке Optimizations.
О константах. Честно говоря я не обращал на это особого внимания. В опциях у меня этот флаг стоит по умолчанию, без возможности изменения.
Все константы я явным образом размещаю в программной памяти с помощью атрибута __flash. Попробую с этим разобраться, как только - так сразу сообщу.

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru