Сейчас пытаюсь ужать библиотечку для работы с nrf24L01 до вменяемых размеров, чтобы еще сильнее ужать свой бутлоадер для обновления фирмвари... При этом пытаюсь не превратить сам код в нечитаемое УГ. После игр с флажками компилятора, добавления -Wl,relax и еще пятка флажков помимо -Os вроде стало ужиматься в 4к. Думаю... С хрена 3/4 кода выжирает сама библиотека. Стал смотреть листинг. В общем забавно достаточно, оказалось. На авр:
* вызов функции foo() обойдется в 4 байта.
* вызов функции по указателю 8 байт
* вызов функции из структурки obj->foo() - 24 байта
Впрочем, это С. Тут все не так плохо. А если использовать плюсы - вызов метода класса foo.bar() обойдется нам в 34 байта !!!! Это к тому почему я считаю плюсы на 8битной аврке наркоманией