Цитата(Непомнящий Евгений @ Aug 16 2017, 10:01)

А как он это сделает, если функция получает неконстантный буфер, т.е. может его модицифировать. В этом случае копирование во временный буфер не может быть соптимизировано...
Да, виноват недосмотрел. Привык в последнее время, что все входящие буфера для вывода объявлены как 'const char*'.
Цитата(Who_are_you? @ Aug 16 2017, 15:16)

Как стал объем
Program: 50.0% Full,
То *.hex - файл не шьется
делаешь 49.9 - все норм
WinAVR- вроде как свободна для распространения?
Наверное это связано с моделью памяти.
128-я регистрами может адресовать только 50% памяти - поэтому, пространство программ делится на две половины, выбор доступа к каждой из который осуществляется с помощью соответствующего бита в управляющем регистре.
Для маленьких моделей компилятор строит программу при условии что она будет располагаться в нижних 50% памяти.