реклама на сайте
подробности

 
 
> Programmers Notepad 2, Проблема с размером hex-файла
RED_BULLok
сообщение May 6 2008, 12:21
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 27-03-08
Из: Беларусь, Минск
Пользователь №: 36 275



Здравствуйте.

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

Теперь вопрос: что так жестоко хавает память ? И есть какие соображения по устранению проблемы? Может в makefile нуна что-то прописать ?

P.S. использую дефолтовый makefile, изменял лишь название контроллера, частоту и имя файла проги.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение May 6 2008, 12:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(RED_BULLok @ May 6 2008, 15:21) *
Теперь вопрос: что так жестоко хавает память ? И есть какие соображения по устранению проблемы?
Ну, и что тут не понятно? Вы сами, по-моему, всё объяснили своими примерами. Память едят процедуры, подключаемые из стандартных библиотек. Давно известно, что процедуры типа sprintf, scanf и еже с ними очень прожорливы до памити. Обычно, таких процедур несколько: разные возможности (только int, int+long, int+long+float) и, соответственно, разная потребность в памяти... Ну, и сдвиг (скорее всего не байта) - это тоже некая процедура, которая тоже отжирает память...
Ну, собственно, какие могут быть соображения? Не пользоваться стандартными printf и им подобными - обычно, можно написать свою более легкую функцию. Если памяти не хватает - попробовать включить оптимизацию по памяти...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 22:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01287 секунд с 7
ELECTRONIX ©2004-2016