Для небольшого проекта, который я разрабатываю, я использовал простую компиляцию через командную строку.Однако, когда он стал больше, я решил изучить и использовать autoconf и automake для его компиляции.
После некоторой настройки я успешно собрал с помощью automake.Однако я заметил, что размер выходного двоичного файла был больше, чем при использовании g ++ из командной строки.Я пытался использовать статические и динамические библиотеки, и результат был одинаковым.
Я также пробовал простой мир hello, и он был больше с automake, чем с компиляцией из командной строки.
ТакЯ попытался запустить objdump -h
: скомпилированная командная строка возвратила 27 разделов, а с другой стороны, скомпилированный automake вернул те же 27 разделов плюс 7 разделов, называемых debug_aranges, debug_info, debug_abbrev, debug_line, debug_loc, debug_ranges.Так что я, очевидно, склонен думать, что это что-то связанное с отладкой.
Итак, каждый знает, для чего эти разделы, если они необходимы и как от них избавиться, чтобы исполняемые файлы были меньше для распространения.