Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
#1

Что такое стрип? - C++

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

Говорят, релизные бинарники надо стрипать. А что такое стрип и как его делать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1605 / 997 / 118
Регистрация: 27.09.2009
Сообщений: 1,923
Завершенные тесты: 1
19.12.2009, 17:03     Что такое стрип? #2
Вероятно, имеется в виду избавление их от отладочной информации. Это делается в настройках среды или задаётся параметрами компилятора и линкера.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
19.12.2009, 20:09     Что такое стрип? #3
Или делается утилитой после сборки программы.
Например собрали программу prog.exe
Удаляем отладочную информацию:
strip prog.exe
Размер файла prog.exe станет меньше

С компилятором mingw-gcc под Windows такое точно работает, насчет Visual Studio не знаю - вроде как это задается опциями при генерации Release.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.06.2010, 10:22  [ТС]     Что такое стрип? #4
Цитата Сообщение от Nick Alte Посмотреть сообщение
избавление их от отладочной информации
. Спасибо. Я просто не знал, что это так называется.
Цитата Сообщение от odip Посмотреть сообщение
это задается опциями при генерации Release.
Именно так в студии это и делается. Причём, опции даже нет нужды ставить вручную - достаточно создать конфиг Rease и опции для него встанут автоматически. А потом чтоб стрипануть проект, этот конфиг выбирается и опции вступают в силу.
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
25.06.2010, 13:56     Что такое стрип? #5
Это не только избавление от отладочной информации. В бинарнике присутсвуют в том числе и символьные таблицы. Они для исполнения кода не нужны, но нужны для дизассемблирования с привязкой к именам. По умолчанию линкер все эти таблицы оставляет (по крайней мере под линухом). А потому нужно именно запускать программу strip, а не надеяться на то, что в режиме Release кто-то что-то сделает
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
08.12.2010, 21:22     Что такое стрип? #6
имеется исполняемый файл *.elf, но в нем присутствует информация, которую нужно стрипануть, но как это сделать?
Использую CentOs 5.5 на VmWare.
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
08.12.2010, 21:36     Что такое стрип? #7
Код
$ strip <filename>
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
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'
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
08.12.2010, 23:00     Что такое стрип? #9
Что показывает приказ

Код
$ file /home/cpp.elf
?
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
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
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
08.12.2010, 23:17     Что такое стрип? #11
А что за машина у тебя: PowerPC или нет?

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

И твой бинарник запускается?
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
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
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
08.12.2010, 23:38     Что такое стрип? #13
Цитата Сообщение от sitesv Посмотреть сообщение
бинарник запускается у меня программно, через exec
Вот это поясни. А то машина у тебя Intel'овская, а бинарник для Power'а
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
08.12.2010, 23:42     Что такое стрип? #14
На интеловской машине я делаю бинарник, который используется в дальнейшем на power'е.
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
08.12.2010, 23:47     Что такое стрип? #15
Ты чем собираешь бинарник? Наверняка компилятор называется что-то типа ppc-linux-gcc (или powerpc-linux-gcc или какой там префикс). Для работы с power'овским бинарником берёшь strip с таким же префиксом (ppc-linux strip).
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
08.12.2010, 23:54     Что такое стрип? #16
Из-под windows возможно такое провернуть?
Evg
Эксперт CАвтор FAQ
17387 / 5625 / 351
Регистрация: 30.03.2009
Сообщений: 15,407
Записей в блоге: 26
09.12.2010, 00:00     Что такое стрип? #17
Да пофиг из-под какой ОС если у тебя есть кросс-gcc (я так понял, что ты именно им собираешь power'овский бинарник), то в нагрузку к нему есть все кросс-утилиты для работы с бинарным файлом
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2010, 00:12     Что такое стрип?
Еще ссылки по теме:

Что такое 1L? C++ Builder
C++ Что такое С++ ?
C++ COM Что такое COM+?
Что такое потоки? C++
C++ Что такое *this?

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

Или воспользуйтесь поиском по форуму:
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 658
09.12.2010, 00:12     Что такое стрип? #18
Thanx, направление уяснил, буду исследовать)
Yandex
Объявления
09.12.2010, 00:12     Что такое стрип?
Ответ Создать тему
Опции темы

Текущее время: 22:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru