Russian Qt Forum
Июля 01, 2025, 00:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: [4.2.2, static, MinGW] Снова об уменьшении размера EXE  (Прочитано 23585 раз)
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.023 секунд. Запросов: 22.