Russian Qt Forum
Ноябрь 23, 2024, 08:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: [4.2.2, static, MinGW] Снова об уменьшении размера EXE  (Прочитано 22969 раз)
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #15 : Март 12, 2007, 00:33 »

Цитата: "Mindtraveller"
А размер тестовой программы (как в первом постинге) какой получается?


Я сделал вот такой тестовый пример:

Код:
#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
QApplication app(argc, argv);
QWidget w;
w.show();
return app.exec();
}


Релиз получился 23 Кб, дебаг - 1,1 Мб. Если дебаг версию прогнать strip -s, то размер получаеться 24 Кб.

ЗЫ: Размер у меня будет отличен от твоего из-за того что у тебя Qt собрана статически.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Mindtraveller
Гость
« Ответ #16 : Март 12, 2007, 01:31 »

Так я и спрашиваю, при _статической_ линковке, у тебя какой получается размер в релизе?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #17 : Март 12, 2007, 04:18 »

Выражусь по другому.... у меня нет статической сборки Qt под MinGW
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вудруф
Гость
« Ответ #18 : Март 12, 2007, 08:13 »

Цитировать
pastor

Что логично, т.к. strip вырезает все дебажные символы, и не только... Так у меня релиз с 600 кб до 400 кб сокращается...
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #19 : Март 12, 2007, 14:12 »

Цитата: "Вудруф"
Цитировать
pastor

Что логично, т.к. strip вырезает все дебажные символы, и не только... Так у меня релиз с 600 кб до 400 кб сокращается...


У меня релиз не уменьшаеться в размере после strip. ИМХО и не должен, т.к. релиз не содержит дебажной информации. Уменьшаеться в размере только дебаг.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вудруф
Гость
« Ответ #20 : Март 12, 2007, 16:10 »

А хбз почему, но вот уменьшается Улыбающийся
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #21 : Март 12, 2007, 17:07 »

Цитата: "Вудруф"
А хбз почему, но вот уменьшается Улыбающийся


У тебя strip лучше Подмигивающий
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Mindtraveller
Гость
« Ответ #22 : Март 12, 2007, 21:44 »

pastor, тогда плиз не засоряйте тему. Здесь речь шла именно о статической линковке. С длл проблем не было пока.
Записан
Dendy
Гость
« Ответ #23 : Март 13, 2007, 16:41 »

Попробуй способ отсюда:

http://prog.org.ru/forum/lhtopic_3974_0_0_asc_%D5%CD%C5%CE%D8%DB%C5%CE%C9%C5+%D3%D4%C1%D4%C9%DE%C5%D3%CB%CF%CA.html

Если что неясно - спрашивай.
Записан
SLiDER
Гость
« Ответ #24 : Март 13, 2007, 22:11 »

Цитата: "Dendy"
Попробуй способ отсюда:

http://prog.org.ru/forum/lhtopic_3974_0_0_asc_%D5%CD%C5%CE%D8%DB%C5%CE%C9%C5+%D3%D4%C1%D4%C9%DE%C5%D3%CB%CF%CA.html

Если что неясно - спрашивай.


Мне конечно все равно, но со ссылкой явно какие-то проблемы. :?
Записан
Вудруф
Гость
« Ответ #25 : Март 14, 2007, 08:48 »

Да, я прогнал. У release-сборки strip действительно размер не уменьшает.
Однако для обычной программы
Код:

#include <iostream>

int main()
{
std::cout << "Hello, world!\n";
}

Собираемой вызовом
Код:
g++ 123.cpp -o 123.exe -O3

strip уменьшает размер с 478624 байт до 267264 байт.

Вопрос: что ещё надо указывать в параметрах компилятора, чтобы "ничего лишнего" не добавлялось (вроде же для дебага требуется дополнительно -g...).
Записан
zabivator
Гость
« Ответ #26 : Март 14, 2007, 09:24 »

Dendy способ настройки config.h перед сборкой кьюта. Он позволяет вырезать из сборк ненужные в программе виджеты.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #27 : Март 14, 2007, 15:30 »

Цитата: "Вудруф"

Вопрос: что ещё надо указывать в параметрах компилятора, чтобы "ничего лишнего" не добавлялось (вроде же для дебага требуется дополнительно -g...).


g++ 123.cpp -o 123.exe -O3 -s
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Dendy
Гость
« Ответ #28 : Март 14, 2007, 19:42 »

Вот правильная ссылка:

http://prog.org.ru/forum/topic_3974_0.html
Записан
_govorilka
Гость
« Ответ #29 : Март 15, 2007, 04:44 »

Mindtraveller, попробуй вообще не пользоваться либами!!! Подключай все *.h и *.cpp руками. Знаю, что это геморой, но нужно это сделать все один раз. Также можешь сделать полностью свою либу (только те классы, которые действительно нужны нужны!!!). Если все грамотно сделаешь, то сможешь выграть 25-30%, а может и больше. И еще - если есть возможность, возьми другой компилятор (MinGW - говно!!!). Из всех, что есть мне больше нравится IC++ от Intel, но это отдельная тема.
Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.165 секунд. Запросов: 22.