|
|
|
| Хотелось бы спросить насчёт того, как уменьшить вес программ созданных в этих средах. У меня выходит так, что при простом выводе текста в консоль файл *.ехе весит ~300-600кб в зависимости от среды. А в случае с Qt к нему нужно ещё и библиотеки класть в одну папку.. Подскажите, как уменьшить вес программки?
+++
Куда не обращался, везде не могут дать чёткого ответа. В основном говорят что в *.ехе тянутся какие-то библиотеки ненужные, но когда спрашиваю, как их отключить, то сразу все молчат(( | |
|
|
|
|
|
|
|
для: (Sandr)
(21.03.2011 в 22:34)
| | Товарищи программисты, где вы?) | |
|
|
|
|
|
|
|
для: (Sandr)
(21.03.2011 в 22:34)
| | Я уже как-то задавал такой вопрос. Ответа так и не получил. Возможно вы компилируете debug версию, которая включает в себя много лишнего. | |
|
|
|
|
|
|
|
для: Саня
(30.03.2011 в 10:57)
| | В том то и дело, что компилируется версия Релиз. В режиме Дебаг приложение весит ~3мб!!!
Пробовал на GCC, весит ~9кб. Но программирую я на Qt, а не на GCC (( | |
|
|
|
|
|
|
|
для: Саня
(30.03.2011 в 10:57)
| | В том то и дело, что компилируется версия Релиз. В режиме Дебаг приложение весит ~3мб!!!
Пробовал на GCC, весит ~9кб. Но программирую я на Qt, а не на GCC (( | |
|
|
|
|
|
|
|
для: Саня
(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)
| | >в возможноых аргументах коммандгой строки компилятора
Плюс Так-же линковщика, если не используются возможности передачи аргументов линковщику посредством аргументов командной строки вызова компилятора , автоматически вызывающего линковщик :)) | |
|
|
|
|
|
|
|
для: .heed
(01.04.2011 в 05:20)
| | Тоже встретился с подобной проблемой. При компиляции с помощью GCC в EXE шный файл дописывается много лишнего. В конце файла вообще много текстовой информации, которая вообще никакой полезной функции не несет:( и заметил ее объем зависит от включаемых файлов. Как от нее избавиться тоже не нашел. Кроме как hex редактор или\и использование своих функций, вместо библиотечных. | |
|
|
|
|
|
|
|
для: (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. :) | |
|
|
|
|
|
|
|
для: Commander
(29.04.2011 в 14:20)
| | Обычно UPX-ом пользуюсь. Но к сожалению упаковка исполняемого файла не всегда возможна по тем или иным причинам:(.
Не пойму нафига в EXE-шник компилером вставляется столько бесполезного хлама, который никакой полезной нагрузки не несет? | |
|
|
|