Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Dev C++. Как уменьшить размер приложения?


Автор: xtreem 20.5.2007, 14:58
Поставил себе Dev C++. Начал С++ изучать. Но вот в чём проблема... даже простейшая программа:
Код

#include <windows.h>

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
MessageBox(0, "Hello world!", "HEHE!", MB_OK);
return 0;
}

занимает чуть более 17 кб. Может кто нить знает как можно в Dev C++ уменьшить размер скомпиленого файла?

Автор: nerezus 20.5.2007, 15:14
xtreem, а зачем уменьшать?

P.S. strip
P.P.S. mew/fsg/upx/etc....

Автор: xtreem 20.5.2007, 15:19
не, не катят упаковщики, надо что бы в самомй среде уменьшение было.

Автор: JackYF 20.5.2007, 18:45
Цитата(xtreem @  20.5.2007,  15:19 Найти цитируемый пост)
что бы в самомй среде уменьшение было. 


Среда - это среда.

Настройки компилятора(линкера) какие? Опции -s (или даже плюс еще -Os) есть?

Автор: Dronchik 21.5.2007, 15:21
А у тебя debug- || release- компилируемый файл?

Автор: Hurricane 21.5.2007, 19:04
Цитата(xtreem @  20.5.2007,  06:58 Найти цитируемый пост)
Но вот в чём проблема... даже простейшая программа ... занимает чуть более 17 кб.

А сколько она должна занимать?

Автор: nerezus 21.5.2007, 19:12
Hurricane, если CRT линковать динамически, то меньше 1кб ) Ну и естественно выравнивание по 32 =)

Например размер минимального exe на питоне весит 700байт ) Однако требует dll =\

Автор: Hurricane 21.5.2007, 19:35
Цитата(nerezus @  21.5.2007,  11:12 Найти цитируемый пост)
Hurricane, если CRT линковать динамически, то меньше 1кб ) Ну и естественно выравнивание по 32 =)

Например размер минимального exe на питоне весит 700байт ) Однако требует dll =\ 


Мне интересна сама методика определения. Что значит много? Что значит мало? Что, компилятор тупой и присобачил 16 кб всякого мусора? А сам текст программы - так вообще байт 50 от силы занимает...

Автор: Ренвар 29.7.2008, 14:04
Кстати правда...У меня этот же компилер, и код он генерирует по 465 кб.Включил в программу библиотеку iostream.h и тут же размер кода увеличилсо на 465 кб. Dev C++ че,всю библиотеку решил компилировать? Поставил опцию компоновщика -s,но все равно программа весит 261 кб. При этом исходник занимает чуть более 1 кб. Я слышал,в студии можно программу и до 700 байт обрезать...Как в Dev C++ это сделать? Или он так и должен пихать в PE всякую хрень?
Может,кто знает ключи командной строки,которые помогут уменьшить размер генерируемого кода?

Автор: andrew_121 29.7.2008, 17:01
Цитата(Hurricane @  21.5.2007,  19:35 Найти цитируемый пост)
Что, компилятор тупой и присобачил 16 кб всякого мусора?

Круто сказано. Респект.  smile 
А в чем собсно проблема? Места на харде нехватает? smile

Добавлено @ 17:02
Цитата(Ренвар @  29.7.2008,  14:04 Найти цитируемый пост)
Может,кто знает ключи командной строки,которые помогут уменьшить размер генерируемого кода? 

Я знаю !!! Google -> gcc  smile 

Автор: Mayk 31.7.2008, 05:26
Цитата(xtreem @  20.5.2007,  18:58 Найти цитируемый пост)

занимает чуть более 17 кб

Кошмар! Придётся в системных требованиях писать "наличие 1 mb на жестком диске"

Автор: Peter 3.8.2008, 12:54
Можно рассмотреть такой вариант: поставить старый Dev-C++ (версии 4.01). Там минимальный исполняемый файл у меня был 3 килобайта.

Автор: beliaf 3.8.2008, 19:09
xtreem, юзай GCC и да прибудет тебе счастье!

Автор: nerezus 9.8.2008, 11:31
Цитата

xtreem, юзай GCC и да прибудет тебе счастье!
 RTFM!
Dev-Cpp - это среда(очень старая и неподдерживаемая), а компилятор в ней именно GCC.

Советую обновиться до Code::Blocks.

Автор: beliaf 9.8.2008, 15:05
nerezus, а причем тут среда? Он пишет консольные программы, блокнот и консольный компилятор ему в руки!

Автор: nerezus 9.8.2008, 22:56
beliaf, при том, что человеку нужна именно среда. Например потому, что программировать в ней гораздо удобнее, чем в блокноте)
.

Автор: Mayk 10.8.2008, 06:48
 smile 
Цитата(beliaf @  9.8.2008,  19:05 Найти цитируемый пост)
блокнот и консольный компилятор ему в руки!

Цитата(nerezus @  10.8.2008,  02:56 Найти цитируемый пост)
нужна именно среда

что люди только не делают, лишь бы vim/emacs не учить.

Автор: nerezus 10.8.2008, 11:09
Цитата

что люди только не делают, лишь бы vim/emacs не учить.
 Многих вещей в виме просто нету. Емакс не юзал, но не думаю, что он так сильно может превосходить вим.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)