и переписать код на плюсах (в минимальном сценарии: добавить RAII обёртки над чем-нибудь), и не пользоваться stl, то увеличится ли значительно размер в байтах скомпилированного файла или не должен? При условии, что в Си варианте была ручная обработка освобождения ресурсов
незнаю на сколько значительно, при условии того что вы RTTI оставите включенным размер увеличится
Я думаю что если код прямо 1 в 1 скопипастить то размер бинаря увеличится на ~1% из-за того, что в С++ есть name mangling (идентификаторы чуть длиннее выходят), а в С нету (Можно в extern "C" старый код засунуть, чтобы такого не случилось) Это не считая RTTI, эксепшнов, и левого кода (инклюды плюсовых файлов, новый код, etc)
Типа "void h(int, char)" в Си это будет "h", а в С++ будет "Z1hic" или подобное
Для AVR Attiny45 код, который выполняет одно и то же, делал в двух вариантах: Си и С++ с шаблонами. Получилось замечательно. Один и тот же размер для сильно по-разному выглядещего кода. Но там да, нет RAII, нет исключений и STL.
Не известно, может увеличиться, может уменьшится.
Обсуждают сегодня