Запросить параметры -ffunction-section и -fdata-section в gcc

Ниже на странице GCC указаны параметры функциональных разделов и разделов данных:

 -ffunction-section
-fdata-разделы

Поместите каждую функцию или элемент данных в отдельный раздел в выходном файле, если цель поддерживает произвольные разделы. Имя функции или имя элемента данных определяет имя раздела в выходном файле. Используйте эти параметры в системах, где компоновщик может выполнять оптимизацию для улучшения локальности ссылок в пространстве команд. Большинство систем, использующих объектный формат ELF и процессоры SPARC под управлением Solaris 2, имеют компоновщики с такой оптимизацией. В AIX могут быть эти оптимизации в будущем.

Используйте эти параметры только в том случае, если это дает значительную выгоду. Когда вы укажете эти параметры, ассемблер и компоновщик создадут более крупные объекты и исполняемые файлы, а также будут работать медленнее. Вы не сможете использовать gprof на всех системах, если укажете этот параметр, и у вас могут возникнуть проблемы с отладкой, если вы укажете и этот параметр, и -g.

У меня создалось впечатление, что эти параметры помогут уменьшить размер исполняемого файла. Почему на этой странице написано, что будут созданы исполняемые файлы большего размера? Я что-то упустил?

28
задан Jon Purdy 17 October 2014 в 15:29
поделиться