Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> размер программы, ??? 
:(
    Опции темы
dva300
Дата 11.7.2010, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброго дня, 

дано :

Eclipse IDE for C/C++ Developers

Version: Helios Release
Build id: 20100617-1415

и 

Код

#include <iostream>
using namespace std;

int main (void)
{
cout << "Hello";
return 0;
}


итог :
размер exe - ка ~ 500Кб

чего так много-то ? или это есть нормально ? 
--------------------
Участник движения Культура Вождения
PM   Вверх
rudvil
Дата 12.7.2010, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 20.11.2009
Где: Latvia/Riga

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



--------------------
xor
PM MAIL Skype   Вверх
Abyx
Дата 12.7.2010, 08:06 (ссылка)    | (голосов:7) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



потому что гцц - гуан*. это никак не лечится, ~200Кб это минимум для любых прог, никакие -s не помогут. 
там просто нет нормальной оптимизации.

Добавлено через 3 минуты и 44 секунды
самое забавное, что под виндой гцц юзает msvcrt.dll, и всеравно выдает .exe по 500Кб,
тогда как msvc компилит тот же код в 100Кб, при статической компиляции.

Это сообщение отредактировал(а) Abyx - 12.7.2010, 08:06
PM MAIL   Вверх
boostcoder
Дата 12.7.2010, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(Abyx @  12.7.2010,  08:06 Найти цитируемый пост)
там просто нет нормальной оптимизации.

иди убейся  smile 

Цитата(Abyx @  12.7.2010,  08:06 Найти цитируемый пост)
самое забавное, что под виндой гцц юзает msvcrt.dll

так и должно быть.

Цитата(Abyx @  12.7.2010,  08:06 Найти цитируемый пост)
и всеравно выдает .exe по 500Кб

а какое отношение имеет теплое к мягкому? smile 

Цитата(Abyx @  12.7.2010,  08:06 Найти цитируемый пост)
тогда как msvc компилит тот же код в 100Кб, при статической компиляции

ню-ню smile 
доказательства где?

Добавлено @ 09:45
а вообще, тему нужно переместить в "GNU Toolchain"

Добавлено через 2 минуты и 22 секунды
Цитата(rudvil @ 12.7.2010,  00:46)
http://www.mingw.org/wiki/Large_executables

тут все расписано. от чего, и почему.

Это сообщение отредактировал(а) boostcoder - 12.7.2010, 09:46
PM WWW   Вверх
Abyx
Дата 12.7.2010, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



boostcoder, ололо да вы прямо молитесь на свой гцц

Цитата(boostcoder @  12.7.2010,  09:44 Найти цитируемый пост)
доказательства где?

что тут доказывать? не верите что бывают хеллоуворлды размером 100Кб?
да... наверное если вы всегда юзаете гцц, то таких не видели...

Цитата(boostcoder @  12.7.2010,  09:44 Найти цитируемый пост)
тут все расписано. от чего, и почему.

там не написано почему у msvc получаются исполняемые файлы в 5 раз меньше
PM MAIL   Вверх
Alexeis
Дата 12.7.2010, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



  Активно мусорит в экзешник RTTI, кроме того всяческие рантаймы т.д. Это все разовые расходы. Всяческие ембедид системы имеют опцию отключения RTTI + exceptions . Это заметно уменьшает стартовый размер. Кроме того здорово раздувают код шаблоны.
  Если вы не пишете для ембедид систем, то размеры до 1 Мб и даже более не должны смущать. Вон QT вообще тянет за собой ~5Мб рантаймов. 


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

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

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


Опытный
**


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

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



для тех кто никогда не видел msvc, в нем это делается так...
запускаем msvs2010, новый проект, С++, консольное приложение, ставим галку [v] пустой проект, добавляем файл main.cpp, печатаем код
Код

#include <iostream>
int main()
{
    std::cout << "hello world" << std::endl;
}

выбираем опции компиляции "релиз", лезем в свойства проекта, выставляем статическую линковку рантайма, жмем "построить"
получаем .exe размером 96.5Кб, импортирует только kernel32.dll

PM MAIL   Вверх
bsa
Дата 12.7.2010, 10:08 (ссылка) |   (голосов:9) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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




M
bsa
Abyx, хватит троллить.

Поди запусти свой студиевский экзешник на чистой машине, выяснится, что ему еще и redistributable package нужен...
PM   Вверх
Abyx
Дата 12.7.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Alexeis, в msvc тоже есть RTTI, статический (!) рантайм, шаблоны, а код (sic!) в 5 раз меньше, что там не так?

Добавлено через 34 секунды
bsa, читайте внимательно.

Цитата(Abyx @  12.7.2010,  10:06 Найти цитируемый пост)
выставляем статическую линковку рантайма

Цитата(Abyx @  12.7.2010,  10:06 Найти цитируемый пост)
импортирует только kernel32.dll


PM MAIL   Вверх
boostcoder
Дата 12.7.2010, 10:11 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

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



Цитата(Abyx @  12.7.2010,  09:53 Найти цитируемый пост)
да вы прямо молитесь на свой гцц

Ы smile откуда такие сведения?

Цитата(Abyx @  12.7.2010,  10:06 Найти цитируемый пост)
для тех кто никогда не видел msvc

а что это?
PM WWW   Вверх
Abyx
Дата 12.7.2010, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Насчет размеров файлов. Кроме embedded систем, есть еще частое обновление модулей программ по сети, а кое-где бывает не безлимитный интернет.
Кроме того некоторые заказчики не могут понять, почему когда им делают формочки на дельфи, получаются .exe по 50Кб, а когда я им делаю проги без ГУЙ на С++ - 500Кб.

PM MAIL   Вверх
Alexeis
Дата 12.7.2010, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(Abyx @  12.7.2010,  09:10 Найти цитируемый пост)
Alexeis, в msvc тоже есть RTTI, статический (!) рантайм, шаблоны, а код (sic!) в 5 раз меньше, что там не так?

  Ну и что радости? Как начнешь писать хоть что-то мало мальски приличное так экзешник раздуется ацки. Подключи MFC и сразу все станает на свои места smile . Подключишь что нить другое результат аналогичный. А вот если совсем отключить все рантаймы и линковать голый экзешник так вообще можно получить 5 кб  smile . Какая экономия! А главное польза smile .

Добавлено через 2 минуты и 33 секунды
Цитата(Abyx @  12.7.2010,  09:14 Найти цитируемый пост)
Кроме того некоторые заказчики не могут понять, почему когда им делают формочки на дельфи, получаются .exe по 50Кб

  Только при компиляции с пакетами (или альтернативные GUI библиотеки). Иначе 600-800 кб. Там еще больше запихано RTTI . Наверное на 300-350 кб. 


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

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

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


Опытный
**


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

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



Alexeis, пока речь о конкретном коде, который использует только iostream
размер mfc vs размер qt - это отдельный разговор, не в пользу qt
PM MAIL   Вверх
Alexeis
Дата 12.7.2010, 10:32 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Abyx, мде сейчас проверил. Откомпилировал свою функционально-законченную dll ку (VS2005) static multithread Runtime в релизе - 108 кб - Debug > 900Кб. Однако! Действительно. Вполне себе рабочий проект даже с одной простенькой формочкой. 


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

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

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


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



В эпоху террабайтных носителей продолжаем фапать на килобайтные хелловорды!? smile Это диагноз.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




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


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

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