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

C++

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

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

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

Говорят, релизные бинарники надо стрипать. А что такое стрип и как его делать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2009, 06:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что такое стрип? (C++):

Что такое инстанцирование? - C++
class A { ... }; A a; // Это уже инстанцирование A?

Что такое фреймворк? - C++
Доброго времени суток. Объясните пожалуйста на счет фреймворков. Несколько минут погуглив я примерно понял что это такое, но все же...

Что такое компилятор, и где его взять? - C++
Здравствуйте дорогие форумчане! Вот начал изучать по самоучителям С++ и сталкнулся с таким термином, как компилятор. Я так понял он...

Что такое compile-time алгоритмы и для чего они нужны? - C++
А есть от них хоть какая-то практическая польза? По-моему нет

Как можно сделать такое? (Автоматическое нажатие клавиш и все что с этим связанно) - C++
У меня возник вопрос как можно сделать чтоб программа автоматически нажимала на определенные клавиши? Например в игре GTA SAMP: Чтоб...

Что такое TPoint, как пользоваться и что подставлять. - C++ Builder
function WindowFromPoint( Point: TPoint ): HWND; есть функция, обьясните пожалуйста или дайте чтото почитать, гугл юзал не нашел, что...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Nick Alte
Эксперт С++
1638 / 1010 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
19.12.2009, 17:03 #2
Вероятно, имеется в виду избавление их от отладочной информации. Это делается в настройках среды или задаётся параметрами компилятора и линкера.
0
odip
Эксперт С++
7157 / 3297 / 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.
0
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.06.2010, 10:22  [ТС] #4
Цитата Сообщение от Nick Alte Посмотреть сообщение
избавление их от отладочной информации
. Спасибо. Я просто не знал, что это так называется.
Цитата Сообщение от odip Посмотреть сообщение
это задается опциями при генерации Release.
Именно так в студии это и делается. Причём, опции даже нет нужды ставить вручную - достаточно создать конфиг Rease и опции для него встанут автоматически. А потом чтоб стрипануть проект, этот конфиг выбирается и опции вступают в силу.
0
Evg
Эксперт CАвтор FAQ
17826 / 6036 / 388
Регистрация: 30.03.2009
Сообщений: 16,567
Записей в блоге: 26
25.06.2010, 13:56 #5
Это не только избавление от отладочной информации. В бинарнике присутсвуют в том числе и символьные таблицы. Они для исполнения кода не нужны, но нужны для дизассемблирования с привязкой к именам. По умолчанию линкер все эти таблицы оставляет (по крайней мере под линухом). А потому нужно именно запускать программу strip, а не надеяться на то, что в режиме Release кто-то что-то сделает
0
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 663
08.12.2010, 21:22 #6
имеется исполняемый файл *.elf, но в нем присутствует информация, которую нужно стрипануть, но как это сделать?
Использую CentOs 5.5 на VmWare.
0
Evg
Эксперт CАвтор FAQ
17826 / 6036 / 388
Регистрация: 30.03.2009
Сообщений: 16,567
Записей в блоге: 26
08.12.2010, 21:36 #7
Код
$ strip <filename>
0
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 663
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
17826 / 6036 / 388
Регистрация: 30.03.2009
Сообщений: 16,567
Записей в блоге: 26
08.12.2010, 23:00 #9
Что показывает приказ

Код
$ file /home/cpp.elf
?
0
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 663
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
17826 / 6036 / 388
Регистрация: 30.03.2009
Сообщений: 16,567
Записей в блоге: 26
08.12.2010, 23:17 #11
А что за машина у тебя: PowerPC или нет?

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

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

что такое {;} ? - C++ Builder
Подскажите пожалуйста что значит вот это {;} Добавлено через 32 секунды в этом коде: #include &lt;vcl.h&gt; #pragma hdrstop ...

Что такое 1L? - C++ Builder
Приходится разбираться в чужом коде. Сначала была не понятна эта строчка: double v = 0L; Но погуглив, я узнала, что 0L - это некое...

Что такое ShowModal() - C++ Builder
Нашел описание одной программки и не могу понять в коде строку(что это и зачем оно нужно) вот код: #include &quot;Unit2.h&quot; void __fastcall...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2010, 23:47
Ответ Создать тему
Опции темы

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