Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Qt Creator - большой размер *.EXE, Так и должно быть...? 
:(
    Опции темы
psiallon
Дата 10.9.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.8.2009
Где: Оренбург

Репутация: нет
Всего: 1



Недавно начал изучать C++, пользовался Visual C++ и C++ Builder, недавно решил попробовать Qt Creator (как я понимаю, компилятор там - minGW). Так вот, меня сильно удивило, что этот IDE очень долго создает сборку, а потом я еще взглянул на размер исполняемого файла и чуть со стула не упал...
Например вот эта, простейшая программа:
Код

#include <iostream>

using namespace std;

int main()
{
    int x, y;

    cout << "Enter numbers: ";
    cin >> x >> y;

    cout << "Summ: " << x + y;

    return 0;
}

занимает ~300кбайт жесткого диска...
PM MAIL ICQ   Вверх
andrew_121
Дата 10.9.2009, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(psiallon @  10.9.2009,  10:49 Найти цитируемый пост)
что этот IDE очень долго создает сборку

это с компилятором по умолчанию. поставь gcc-4.4.0

Цитата(psiallon @  10.9.2009,  10:49 Найти цитируемый пост)
а потом я еще взглянул на размер исполняемого файла и чуть со стула не упал...

Это потому что ты не посчитал суммарный объем длл-ок Visual C++ которые тебе придется таскать со своей программой. Выйдет куда более! smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Alexeis
Дата 10.9.2009, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 1
Всего: 459



Цитата(psiallon @  10.9.2009,  09:49 Найти цитируемый пост)
занимает ~300кбайт жесткого диска... 

  При статической линковке всего в релизе билдер дает примерно те же результаты. 
Цитата(andrew_121 @  10.9.2009,  10:31 Найти цитируемый пост)
Visual C++ которые тебе придется таскать со своей программой.

  Кой чего из этого уже присутствует в системе, но не гарантированно. Если компилировать с 2008й студией, то почти наверняка в системе не будет необходимых библиотек.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
bsa
Дата 10.9.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



psiallon, это еще цветочки. Если создашь прогу с Qt, то объем будет еще больше, особенно, если посчитать сам Qt (более 4МБ).
Кстати, имей в виду, что программа собранная в режиме debug имеет большой размер, так как содержит информацию для отладки. Чтобы удалить эту информацию, нужно воспользоваться командой strip --strip-unneeded <path/to/exe> или пересобрать в release.
PM   Вверх
psiallon
Дата 10.9.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.8.2009
Где: Оренбург

Репутация: нет
Всего: 1



Цитата

то с компилятором по умолчанию. поставь gcc-4.4.0

Можете рассказать, как это сделать, если не затруднит?
Цитата

При статической линковке всего в релизе билдер дает примерно те же результаты.

Я так понимаю, статическая линковка - это когда весь необходимый код из библиотек, помещается в один исполняемый файл программы? Т.е. делается это для того, что бы можно было без проблем запустить программу на другой машине?
И еще, можно ли изменить режим линковки на "нестатический" и таскать нужные библиотеки вместе с программой?
Цитата

psiallon, это еще цветочки. Если создашь прогу с Qt, то объем будет еще больше, особенно, если посчитать сам Qt (более 4МБ).

Ясно, спасибо...
Цитата

Кстати, имей в виду, что программа собранная в режиме debug имеет большой размер, так как содержит информацию для отладки. Чтобы удалить эту информацию, нужно воспользоваться командой strip --strip-unneeded <path/to/exe> или пересобрать в release.

Спасибо, я в курсе, компилил в режиме release.
PM MAIL ICQ   Вверх
SABROG
Дата 10.9.2009, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(psiallon @  10.9.2009,  10:49 Найти цитируемый пост)
занимает ~300кбайт жесткого диска... 


Это из-за stl. Используй Сишный printf() и программа резко упадет в размерах.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
psiallon
Дата 10.9.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.8.2009
Где: Оренбург

Репутация: нет
Всего: 1



Цитата(SABROG @ 10.9.2009,  17:49)
Цитата(psiallon @  10.9.2009,  10:49 Найти цитируемый пост)
занимает ~300кбайт жесткого диска... 


Это из-за stl. Используй Сишный printf() и программа резко упадет в размерах.

Точно! Спасибо большое! Уменьшил размер программы в 60 раз! smile 

Это сообщение отредактировал(а) psiallon - 10.9.2009, 16:56
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0716 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.