Форум: Форум C++Разное
Новые темы: 00
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вес программы (Qt, builder, dev c++)
 
 автор: (Sandr)   (21.03.2011 в 22:34)   письмо автору
 
 

Хотелось бы спросить насчёт того, как уменьшить вес программ созданных в этих средах. У меня выходит так, что при простом выводе текста в консоль файл *.ехе весит ~300-600кб в зависимости от среды. А в случае с Qt к нему нужно ещё и библиотеки класть в одну папку.. Подскажите, как уменьшить вес программки?
+++
Куда не обращался, везде не могут дать чёткого ответа. В основном говорят что в *.ехе тянутся какие-то библиотеки ненужные, но когда спрашиваю, как их отключить, то сразу все молчат((

  Ответить  
 
 автор: (Sandr)   (21.03.2011 в 23:22)   письмо автору
 
   для: (Sandr)   (21.03.2011 в 22:34)
 

Товарищи программисты, где вы?)

  Ответить  
 
 автор: Саня   (30.03.2011 в 10:57)   письмо автору
 
   для: (Sandr)   (21.03.2011 в 22:34)
 

Я уже как-то задавал такой вопрос. Ответа так и не получил. Возможно вы компилируете debug версию, которая включает в себя много лишнего.

  Ответить  
 
 автор: (Sandr)   (02.05.2011 в 17:14)   письмо автору
 
   для: Саня   (30.03.2011 в 10:57)
 

В том то и дело, что компилируется версия Релиз. В режиме Дебаг приложение весит ~3мб!!!
Пробовал на GCC, весит ~9кб. Но программирую я на Qt, а не на GCC ((

  Ответить  
 
 автор: (Sandr)   (02.05.2011 в 17:14)   письмо автору
 
   для: Саня   (30.03.2011 в 10:57)
 

В том то и дело, что компилируется версия Релиз. В режиме Дебаг приложение весит ~3мб!!!
Пробовал на GCC, весит ~9кб. Но программирую я на Qt, а не на GCC ((

  Ответить  
 
 автор: (Sandr)   (02.05.2011 в 17:14)   письмо автору
 
   для: Саня   (30.03.2011 в 10:57)
 

В том то и дело, что компилируется версия Релиз. В режиме Дебаг приложение весит ~3мб!!!
Пробовал на GCC, весит ~9кб. Но программирую я на Qt, а не на GCC ((

  Ответить  
 
 автор: .heed   (01.04.2011 в 05:04)
 
   для: (Sandr)   (21.03.2011 в 22:34)
 

>при простом выводе текста в консоль файл *.ехе весит ~300-600кб

Делайте такое не на такое не на C++ а на С
, должно будет весить меньше.
Чтобы уменьшить ещё больше , смотрите есть-ли возможность Вместо стандартных main() и аналогичных EntryPoint создавать свои облегчённые EntryPoint-функции.
Декомпилируйте простейшие exe, проходите отладчиком, Разбирайтесь в возможноых аргументах коммандгой строки компилятора
И не всегда бывает возможность запретить C-компилятору дописывать своё то, не имеющее отношение к выполнению, что они дописывают .

___PS// В msvc EE 2008+нет возможности скомпилировать без небольшой загадочной подписи в конце exe, msvc2005 PE ничего такого нет
___PPS// плюс поздние MS компиляторы линкуют клоны+дополнения msvcrt.dll , типа msvcrt20.dll, msvcr40б t70, 80 , 90 ....
и дёргают оттуда например security-stack проверки, которые кстати тоже не во всех версиях можно отключить,, и всё такое
___PPPS// плюс влияет логика и предоставляемые возможности оптимизации, каждого отдельно-взятого компилятора
___PPPPS// после запарок с избавлением от всяких msvcrt70, 80 , 90 .... бальзам на душу, ... прилинковать чего-нибудь статически , тем самым увеличив размер exe
:)

  Ответить  
 
 автор: .heed   (01.04.2011 в 05:20)
 
   для: .heed   (01.04.2011 в 05:04)
 

>в возможноых аргументах коммандгой строки компилятора

Плюс Так-же линковщика, если не используются возможности передачи аргументов линковщику посредством аргументов командной строки вызова компилятора , автоматически вызывающего линковщик :))

  Ответить  
 
 автор: Miha_drinking_bout   (07.04.2011 в 17:50)   письмо автору
 
   для: .heed   (01.04.2011 в 05:20)
 

Тоже встретился с подобной проблемой. При компиляции с помощью GCC в EXE шный файл дописывается много лишнего. В конце файла вообще много текстовой информации, которая вообще никакой полезной функции не несет:( и заметил ее объем зависит от включаемых файлов. Как от нее избавиться тоже не нашел. Кроме как hex редактор или\и использование своих функций, вместо библиотечных.

  Ответить  
 
 автор: Commander   (29.04.2011 в 14:20)   письмо автору
 
   для: (Sandr)   (21.03.2011 в 22:34)
 

Можно воспользоваться упаковщиками (ASPack, например: http://www.asprotect.ru/aspack.html). Есть еще NSPack (вроде так называется, могу ошибаться; он, кстати, жмет несколько лучше, чем ASPack), знаменитый UPX и т.д. Большая коллекция есть здесь: http://cracklab.ru/download.php?action=list&n=NDA=

Товарищи программисты, где вы?)

Ушли на форум PHP. :)

  Ответить  
 
 автор: Miha_drinking_bout   (12.05.2011 в 14:04)   письмо автору
 
   для: Commander   (29.04.2011 в 14:20)
 

Обычно UPX-ом пользуюсь. Но к сожалению упаковка исполняемого файла не всегда возможна по тем или иным причинам:(.
Не пойму нафига в EXE-шник компилером вставляется столько бесполезного хлама, который никакой полезной нагрузки не несет?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования