Для чего используется «полоса» (приложение GCC)? - PullRequest
24 голосов
/ 12 сентября 2009

для чего это маленькое приложение?

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

Ответы [ 3 ]

26 голосов
/ 12 сентября 2009

Из (Mac OS X, но другие похожи) справочная страница :

strip удаляет или изменяет таблицу символов, прикрепленную к выходу ассемблер и редактор ссылок. Это полезно для экономии места после Программа была отлажена и для ограничения динамически связанных символов.

Обратите внимание на бит "после отладки программы", потому что отладка удаленного исполняемого файла на самом деле очень . «Ограничение динамически связанных символов» является более редким использованием: оно позволяет сделать некоторые функции из внешней библиотеки недоступными, убрав записи индекса, которые сообщают, где находится фактический код. Это также объясняется в справочной странице.

Каким бы дешевым и обильным ни был диск в большинстве случаев, вы бы просто больше не беспокоились об этом. Но вы можете захотеть его для ограниченного пространства, такого как встроенные устройства, аварийные диски и т. Д.

7 голосов
/ 12 сентября 2009

Удаляет символьную информацию из двоичного файла. Двоичный файл содержит некоторую информацию, которая отображает символы (например, имена функций) в определенные местоположения. strip удаляет их.

4 голосов
/ 12 сентября 2009

При работе по умолчанию полоса Команда удаляет таблицу символов и любая отладочная информация из исполняемый файл.

Отсюда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...