Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/48: Рейтинг темы: голосов - 48, средняя оценка - 4.73
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
1

Что такое стрип?

19.12.2009, 06:07. Показов 9904. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Говорят, релизные бинарники надо стрипать. А что такое стрип и как его делать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2009, 06:07
Ответы с готовыми решениями:

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из...

17
Эксперт С++
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
19.12.2009, 17:03 2
Вероятно, имеется в виду избавление их от отладочной информации. Это делается в настройках среды или задаётся параметрами компилятора и линкера.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.12.2009, 20:09 3
Или делается утилитой после сборки программы.
Например собрали программу prog.exe
Удаляем отладочную информацию:
strip prog.exe
Размер файла prog.exe станет меньше

С компилятором mingw-gcc под Windows такое точно работает, насчет Visual Studio не знаю - вроде как это задается опциями при генерации Release.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.06.2010, 10:22  [ТС] 4
Цитата Сообщение от Nick Alte Посмотреть сообщение
избавление их от отладочной информации
. Спасибо. Я просто не знал, что это так называется.
Цитата Сообщение от odip Посмотреть сообщение
это задается опциями при генерации Release.
Именно так в студии это и делается. Причём, опции даже нет нужды ставить вручную - достаточно создать конфиг Rease и опции для него встанут автоматически. А потом чтоб стрипануть проект, этот конфиг выбирается и опции вступают в силу.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
25.06.2010, 13:56 5
Это не только избавление от отладочной информации. В бинарнике присутсвуют в том числе и символьные таблицы. Они для исполнения кода не нужны, но нужны для дизассемблирования с привязкой к именам. По умолчанию линкер все эти таблицы оставляет (по крайней мере под линухом). А потому нужно именно запускать программу strip, а не надеяться на то, что в режиме Release кто-то что-то сделает
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 21:22 6
имеется исполняемый файл *.elf, но в нем присутствует информация, которую нужно стрипануть, но как это сделать?
Использую CentOs 5.5 на VmWare.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
08.12.2010, 21:36 7
Код
$ strip <filename>
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 22:19 8
Цитата Сообщение от Evg Посмотреть сообщение
Код
$ strip <filename>
[root@localhost strip]# strip /home/cpp.elf
strip: Unable to recognise the format of the input file `/home/cpp.elf'
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
08.12.2010, 23:00 9
Что показывает приказ

Код
$ file /home/cpp.elf
?
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 23:13 10
Цитата Сообщение от Evg Посмотреть сообщение
Что показывает приказ

Код
$ file /home/cpp.elf
?
/home/cpp.elf: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.4.3, dynamically linked (uses shared libs), for GNU/Linux 2.4.3, not stripped
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
08.12.2010, 23:17 11
А что за машина у тебя: PowerPC или нет?

что показывает приказ "uname -a"?

И твой бинарник запускается?
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 23:37 12
Цитата Сообщение от Evg Посмотреть сообщение
А что за машина у тебя: PowerPC или нет?

что показывает приказ "uname -a"?

И твой бинарник запускается?
Ну да, программа написана под PowerPC, для чипа, на котором ос линух,
бинарник запускается у меня программно, через exec,
ответ на приказ:
Linux localhost.localdomain 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:40 EST 2010 i686 i686 i386 GNU/Linux
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
08.12.2010, 23:38 13
Цитата Сообщение от sitesv Посмотреть сообщение
бинарник запускается у меня программно, через exec
Вот это поясни. А то машина у тебя Intel'овская, а бинарник для Power'а
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 23:42 14
На интеловской машине я делаю бинарник, который используется в дальнейшем на power'е.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
08.12.2010, 23:47 15
Ты чем собираешь бинарник? Наверняка компилятор называется что-то типа ppc-linux-gcc (или powerpc-linux-gcc или какой там префикс). Для работы с power'овским бинарником берёшь strip с таким же префиксом (ppc-linux strip).
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
08.12.2010, 23:54 16
Из-под windows возможно такое провернуть?
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
09.12.2010, 00:00 17
Да пофиг из-под какой ОС если у тебя есть кросс-gcc (я так понял, что ты именно им собираешь power'овский бинарник), то в нагрузку к нему есть все кросс-утилиты для работы с бинарным файлом
1
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 761
09.12.2010, 00:12 18
Thanx, направление уяснил, буду исследовать)
0
09.12.2010, 00:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2010, 00:12
Помогаю со студенческими работами здесь

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...

Что такое напряжение и что такое сила тока с позиции заряженных частиц
Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц....

Что такое монитор и что такое мьютекс? Это же разные вещи?
Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг...

Что такое метод equals() и что такое класс Object
Ответи на два вопроса очень надо 1) Что такое метод equals(). Чем он отличается от операции ==....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru