-
- включил плавучку, разница примерно в 1,5к. включил FPU - еще
немного разницы - POV(01.03.2026 00:05)
- я о printf - Vit(01.03.2026 00:05)
- ЕМНИП, newlib printf подтягивает malloc/free. Если жалко килобайты,
лучше заменить на что-нибудь типа такого: SciFi(1 знак., 01.03.2026 00:19, ссылка)
- по случаю бывает и не жалко, а в общем согласен. интересно, как в последних версиях - printf имя так и осталось замакросенное? - Vit(01.03.2026 00:43)
- А если только sprintf использовать, все равно аллокаторы потянет? Eddy_Em(242 знак., 01.03.2026 00:30)
- ... там куча говна... факт: ваша программа на 90% состоит не из
вашей программы а из libc/newlib/тра-та-та... причем эти
"тра-та-та" на 90% в случае не крупного embedded состотит из
printf/scanf + malloc/free/exit. выводы: a) 0.81 доля прошивки
обычного embedded-обывателя - мусор. б) не линкуйте ничего внешнего
кроме своего кода! то что нужно выдирайте и портируйте по месту. в)
пунк б - это дорого больно и неприятно, капитализьм негодуе на меня
за такое - оно мешает klen(79 знак., 01.03.2026 14:37, +1)
- а из библ линкер не выкидывает неиспользуемое? - POV(02.03.2026 15:37)
- picolibc VVB(409 знак., 02.03.2026 09:08, ссылка)
- Я больше скажу. Можно отключить линкеру подтягивание стандартной
библиотеки, а нужные функции добавлять в проект в виде исходников
откуда угодно. Что-то я отсюда брал: SciFi(1 знак., 02.03.2026 09:10, ссылка)
- моя схема такая же - выдираю из diet libc функции. если можно
оптимизировать с учетом архитектуры кортексиков(stm32xxxx) и ядер
qk (ch32vxx) делаю из них обертки С++ и складываю в один хидер. либ
у меня нет вообще - все мержится в один исходник для более
благоприятных условий оптимизатора, линкеру отается только LTO. от
printf-like избавился - т.к. я похоронил С и полностью перешел на
C++, сделал шаблонные cout cin - мне радость быстрота и
безопасность стека. klen(1 знак., 02.03.2026 13:40, ссылка)
- заглянул. извините, но memcpy иногда защищённый (с перекрытием областей, а не насчёт NULL-pointer) требуется. - Vit(03.03.2026 13:30)
- Ну ты и монстр. - VVB(02.03.2026 15:19)
- моя схема такая же - выдираю из diet libc функции. если можно
оптимизировать с учетом архитектуры кортексиков(stm32xxxx) и ядер
qk (ch32vxx) делаю из них обертки С++ и складываю в один хидер. либ
у меня нет вообще - все мержится в один исходник для более
благоприятных условий оптимизатора, линкеру отается только LTO. от
printf-like избавился - т.к. я похоронил С и полностью перешел на
C++, сделал шаблонные cout cin - мне радость быстрота и
безопасность стека. klen(1 знак., 02.03.2026 13:40, ссылка)
- Я больше скажу. Можно отключить линкеру подтягивание стандартной
библиотеки, а нужные функции добавлять в проект в виде исходников
откуда угодно. Что-то я отсюда брал: SciFi(1 знак., 02.03.2026 09:10, ссылка)
- Это уж не про меня ☺ У меня нет ни аллокаторов, ни printf'ов… - Eddy_Em(01.03.2026 17:55)
- Вы подскажите ему, мне и всем кто не знает, как посмотреть, что и сколько занимает. objdump если я не путаю. А есть ещё возможность зависимости вызовов строить... - Dingo(01.03.2026 15:54)
- А что не так с бабками? Они хорошие. С ними лучше, чем без них. А
хороший код? Его в рамочку и на стену, чтобы любоваться, что ли?
:-) - SciFi(01.03.2026 14:40)
- с бабками "не то" то что их вывели в ранг культа секты
человеческой. на верно не сильно ошибусь если предположу что вам
уже за писят.... не пора ли подумать о вечном? темный тjнель в
перспективе не пугает? - klen(01.03.2026 15:52, +2)
- Забавно слышать это от человека, который вывел в ранг культа секты "хороший код" :-) - SciFi(01.03.2026 16:39)
- с бабками "не то" то что их вывели в ранг культа секты
человеческой. на верно не сильно ошибусь если предположу что вам
уже за писят.... не пора ли подумать о вечном? темный тjнель в
перспективе не пугает? - klen(01.03.2026 15:52, +2)
- ... там куча говна... факт: ваша программа на 90% состоит не из
вашей программы а из libc/newlib/тра-та-та... причем эти
"тра-та-та" на 90% в случае не крупного embedded состотит из
printf/scanf + malloc/free/exit. выводы: a) 0.81 доля прошивки
обычного embedded-обывателя - мусор. б) не линкуйте ничего внешнего
кроме своего кода! то что нужно выдирайте и портируйте по месту. в)
пунк б - это дорого больно и неприятно, капитализьм негодуе на меня
за такое - оно мешает klen(79 знак., 01.03.2026 14:37, +1)
- ЕМНИП, newlib printf подтягивает malloc/free. Если жалко килобайты,
лучше заменить на что-нибудь типа такого: SciFi(1 знак., 01.03.2026 00:19, ссылка)
- я о printf - Vit(01.03.2026 00:05)
- включил плавучку, разница примерно в 1,5к. включил FPU - еще
немного разницы - POV(01.03.2026 00:05)