taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
|
|
#1 | |
Что такое стрип? - C++19.12.2009, 06:07. Просмотров 3203. Ответов 17
Метки нет Все метки)
(
Говорят, релизные бинарники надо стрипать. А что такое стрип и как его делать?
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
19.12.2009, 06:07 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что такое стрип? (C++):
17
Что такое инстанцирование? - C++ Что такое фреймворк? - C++ Что такое компилятор, и где его взять? - C++
Как можно сделать такое? (Автоматическое нажатие клавиш и все что с этим связанно) - C++ Что такое TPoint, как пользоваться и что подставлять. - C++ Builder |
odip
![]() 7161 / 3223 / 58
Регистрация: 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
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
|
|
25.06.2010, 10:22 [ТС] | #4 |
. Спасибо. Я просто не знал, что это так называется.
Именно так в студии это и делается. Причём, опции даже нет нужды ставить вручную - достаточно создать конфиг Rease и опции для него встанут автоматически. А потом чтоб стрипануть проект, этот конфиг выбирается и опции вступают в силу.
0
|
Evg
![]() ![]() |
|
25.06.2010, 13:56 | #5 |
Это не только избавление от отладочной информации. В бинарнике присутсвуют в том числе и символьные таблицы. Они для исполнения кода не нужны, но нужны для дизассемблирования с привязкой к именам. По умолчанию линкер все эти таблицы оставляет (по крайней мере под линухом). А потому нужно именно запускать программу strip, а не надеяться на то, что в режиме Release кто-то что-то сделает
0
|
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 667
|
|
08.12.2010, 21:22 | #6 |
имеется исполняемый файл *.elf, но в нем присутствует информация, которую нужно стрипануть, но как это сделать?
Использую CentOs 5.5 на VmWare.
0
|
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 667
|
|
08.12.2010, 22:19 | #8 |
[root@localhost strip]# strip /home/cpp.elf
strip: Unable to recognise the format of the input file `/home/cpp.elf'
0
|
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 667
|
|
08.12.2010, 23:13 | #10 |
/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
|
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 667
|
|
08.12.2010, 23:37 | #12 |
Ну да, программа написана под 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
|
sitesv
24 / 22 / 2
Регистрация: 22.04.2010
Сообщений: 667
|
|
08.12.2010, 23:42 | #14 |
На интеловской машине я делаю бинарник, который используется в дальнейшем на power'е.
0
|
Evg
![]() ![]() |
|
08.12.2010, 23:47 | #15 |
Ты чем собираешь бинарник? Наверняка компилятор называется что-то типа ppc-linux-gcc (или powerpc-linux-gcc или какой там префикс). Для работы с power'овским бинарником берёшь strip с таким же префиксом (ppc-linux strip).
0
|
08.12.2010, 23:47 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
08.12.2010, 23:47 |
Привет! Вот еще темы с ответами:
15
что такое {;} ? - C++ Builder
Что такое ShowModal() - C++ Builder Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |