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

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

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

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

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

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

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

17
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
19.12.2009, 17:03 2
Вероятно, имеется в виду избавление их от отладочной информации. Это делается в настройках среды или задаётся параметрами компилятора и линкера.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 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
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
25.06.2010, 10:22  [ТС] 4
Цитата Сообщение от Nick Alte Посмотреть сообщение
избавление их от отладочной информации
. Спасибо. Я просто не знал, что это так называется.
Цитата Сообщение от odip Посмотреть сообщение
это задается опциями при генерации Release.
Именно так в студии это и делается. Причём, опции даже нет нужды ставить вручную - достаточно создать конфиг Rease и опции для него встанут автоматически. А потом чтоб стрипануть проект, этот конфиг выбирается и опции вступают в силу.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.06.2010, 13:56 5
Это не только избавление от отладочной информации. В бинарнике присутсвуют в том числе и символьные таблицы. Они для исполнения кода не нужны, но нужны для дизассемблирования с привязкой к именам. По умолчанию линкер все эти таблицы оставляет (по крайней мере под линухом). А потому нужно именно запускать программу strip, а не надеяться на то, что в режиме Release кто-то что-то сделает
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
08.12.2010, 21:22 6
имеется исполняемый файл *.elf, но в нем присутствует информация, которую нужно стрипануть, но как это сделать?
Использую CentOs 5.5 на VmWare.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.12.2010, 21:36 7
Code
1
$ strip <filename>
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
08.12.2010, 22:19 8
Цитата Сообщение от Evg Посмотреть сообщение
Code
1
$ 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
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.12.2010, 23:00 9
Что показывает приказ

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

Code
1
$ 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
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.12.2010, 23:17 11
А что за машина у тебя: PowerPC или нет?

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

И твой бинарник запускается?
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
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
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
08.12.2010, 23:38 13
Цитата Сообщение от sitesv Посмотреть сообщение
бинарник запускается у меня программно, через exec
Вот это поясни. А то машина у тебя Intel'овская, а бинарник для Power'а
0
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
08.12.2010, 23:42 14
На интеловской машине я делаю бинарник, который используется в дальнейшем на power'е.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
Сообщений: 772
08.12.2010, 23:54 16
Из-под windows возможно такое провернуть?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
09.12.2010, 00:00 17
Да пофиг из-под какой ОС если у тебя есть кросс-gcc (я так понял, что ты именно им собираешь power'овский бинарник), то в нагрузку к нему есть все кросс-утилиты для работы с бинарным файлом
1
27 / 25 / 5
Регистрация: 22.04.2010
Сообщений: 772
09.12.2010, 00:12 18
Thanx, направление уяснил, буду исследовать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2010, 00:12
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class - средства для работы с неизменяемыми структурами данных, каждое из которых предлагает свой уникальный подход к решению этой задачи. История их появления весьма. . .
Создание производительны­­х API с Java и gRPC
Wired 04.03.2025
В разработке производительность и масштабируемость микросервисных приложений играют ключевую роль. Традиционные REST API, несмотря на свою популярность и простоту, не всегда способны обеспечить. . .
Что нового в JDK 24
Wired 04.03.2025
JDK 24 знаменует собой значительный скачок в развитии Java, внося фундаментальные улучшения в производительность, безопасность и удобство разработки. Релиз включает множество революционых изменений,. . .
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Современная блокчейн-разработка на Java предоставляет разработчикам широкий спектр возможностей. В отличие от Solidity, который ограничен экосистемой Ethereum, Java позволяет создавать как. . .
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
Tестирование Pull Request в Kubernetes с помощью vCluster
stackOverflow 03.03.2025
При работе с микросервисной архитектурой критически важно обеспечить качественное тестирование каждого изменения перед его слиянием в основную кодовую базу. Однако тестирование Pull Request в. . .
Использование пакета Context в Golang
bytestream 03.03.2025
Управление параллельными процессами в современных приложениях - сложная задача, особенно когда речь идет о микросервисной архитектуре и распределенных системах. Пакет context в Go - это гибкое. . .
WebAssembly и Go: Работа с DOM и обработка ошибок
bytestream 03.03.2025
WebAssembly представляет собой технологию, позволяющую запускать низкоуровневый код в браузере практически на нативной скорости. Особенно интересные возможности открываются при использовании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru