Здравствуйте.
Суть вопроса: написал программку, помимо всего, использую в ней единожды функцию sprintf(); , размер выходного файла hex = 10 564 байт. Комментирую функцию sprintf(); размер hex = 5 569 байт !!! Решил дальше поэкспериментировать:раскомментировал функцию и продублировал строчку с ней - размер hex = 10 638 байт. Т.е размер скомпилированной функции 74 байта. Та же ситуация с операцией сдвига, только применил в программе +781 байт, дальнейшее применение этой операции вообще не влияет на размер выходного файла. Вот, думаю суть понятна.
Теперь вопрос: что так жестоко хавает память ? И есть какие соображения по устранению проблемы? Может в makefile нуна что-то прописать ?
P.S. использую дефолтовый makefile, изменял лишь название контроллера, частоту и имя файла проги.
|