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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размер .exe файла, Консольная программа 
:(
    Опции темы
[m][a][n]
Дата 28.9.2004, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем добрый вечер!
Меня интересует, как можно и реально ли вобще сократить размер исполняемого файла?
Значит:
Компилятор Microsoft Visual C++ 6
У меня прога под консоль занимает 188 kb
Реально ли уменьшить размер исполняемого файла?
Зарание спасибо!

Это сообщение отредактировал(а) [m][a][n] - 28.9.2004, 19:06
PM MAIL   Вверх
cardinal
Дата 28.9.2004, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Koнечно реально! Выкладывай исходник (или хотя бы отрывок), чтобы тебе рассказали, что можно урезать...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
[m][a][n]
Дата 28.9.2004, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А, что всё зависит от кода?
Просто к примеру, помойму (не смотрел, не знаю точно) программа типа "Hello World" уже будет занимать где-то 188 kb (примерно)
Просто как небудь, обычными, стандартными средствами можно уменьшить?

PM MAIL   Вверх
cardinal
Дата 28.9.2004, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(m @ 28.9.2004, )
А, что всё зависит от кода?

в том числе, ну и от компилятора smile.gif


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
S.A.P.
Дата 28.9.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 9
Всего: 71



[m][a][n] , поменяй в установках проекта Debug на Release. А еще можно серьезно уменьшить размер проги написав ее полностью на MFC.

PM MAIL   Вверх
Goldberg
Дата 28.9.2004, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Perchilla @ 28.9.2004, 22:30)
[m][a][n] , поменяй в установках проекта Debug на Release. А еще можно серьезно уменьшить размер проги написав ее полностью на MFC.

Наверное ты имел ввиду на API? wink.gif
--------------------
Вот такая у меня привычка, браться за задание, о выполнение которого я изначально не имею никакого представления.
PM MAIL ICQ   Вверх
S.A.P.
Дата 28.9.2004, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 9
Всего: 71



Цитата(Goldberg @ 28.9.2004, 21:36)
Наверное ты имел ввиду на API?
нет, именно MFC, только при этом придется таскать с собой библиотеки, но размер exe шника уменьшиться прилично.

PM MAIL   Вверх
JackYF
Дата 29.9.2004, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата
нет, именно MFC, только при этом придется таскать с собой библиотеки, но размер exe шника уменьшиться прилично.


Вопрос - а толку, если придётся носить с собой библиотеку???!!!

А какие <*.h> в проекте добавлены? Что-то сильно много.
У меня программа визуальная занимала около 250 Кб., а это сильная разница.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
sergejzr
Дата 29.9.2004, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



это только из за debag'a, как Perchilla сказал.
Иначе для такого веса надо бы было столько писать......

А сократить можно конечно smile.gif спроси у ассемблерщиков, как они хелловорлд пишут smile.gif

Добавлено @ 00:32
Поменяешь на релиз, будет около 13 КБ, если программа обычая smile.gif


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Конструктор
Дата 29.9.2004, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Используй UPX (EXE упаковщик), средство хоть и не стандартное, зато очень эффективное. Большинство последних червей им упаковано. Он кстати бесплатный.

http://upx.sourceforge.net/
PM MAIL WWW ICQ   Вверх
[m][a][n]
Дата 29.9.2004, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Что еще кроме размера изменится, если я сменю с Debug на Release?
PM MAIL   Вверх
sergejzr
Дата 29.9.2004, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Дебагить не сможешь.

Означает, что при ошибках дебагер будет показывать машинный код, а не твой исходник.
Проверка ошибок отключается.
Быстрее выполнятся будет.




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
S.A.P.
Дата 29.9.2004, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 9
Всего: 71



Цитата(JackYF @ 29.9.2004, 00:26)
Вопрос - а толку, если придётся носить с собой библиотеку???!!!

Ну может я не правильно выразился. Я хотел сказать что большАя часть рутины будет находиться в в библиотеках, которые кстати входят в стандарнтный комплект Windows. А потом парню размер экзешника уменьшить надо.

Цитата
[a][n], 29.9.2004,  21:27]Что еще кроме размера изменится, если я сменю с Debug на Release?

Опция Debug добавляет в скомпилированный экзешник отладочную информацию, чтобы программу отлаживать легче было. Естественно это сказывается на размере программы и скорости ее выполнения, поэтому рекомендую программу, которой больше не требуется отладка компилировать с опциями Release. Функциональность при этом не изменяется.

Правда я видел одну статью, где говориться, что в некоторых случаях проект откомпилированный с опцией Debug будет работать быстрее, но это все экзотика. Вобщем не морочь себе голову.

PS. MFC - это дело вкуса.

Добавлено @ 21:50
sergej.z уже успел ответить, пока я копошился smile.gif
PM MAIL   Вверх
sergejzr
Дата 29.9.2004, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(Perchilla @ 29.9.2004, 20:47)
большАя часть рутины будет находиться в в библиотеках,

Это не совсем так smile.gif Всё зависит от приложения. Для граф. приложений - спору нет smile.gif
А если я движок к БД например напишу. Какими рутинами мне пользоваться? smile.gif


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
S.A.P.
Дата 29.9.2004, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 9
Всего: 71



sergej.z я не зря ударение на букве А поставил biggrin.gif , посмотри внимательно smile.gif
PM MAIL   Вверх
S.A.P.
Дата 29.9.2004, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 9
Всего: 71



А если ты не пользуешся рутинами MFC то пользоваться MFC нет смысла smile.gif
PM MAIL   Вверх
Peter
Дата 30.9.2004, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Правильно говорят: меняй компилятор. На MinGW, например. Там "Hello, world!" будет килобайта три, я думаю, весить.
http://www.bloodshed.net/devcpp.html


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
[m][a][n]
Дата 30.9.2004, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ясно, всё понял!
Всем большое спасибо!
PM MAIL   Вверх
[m][a][n]
Дата 30.9.2004, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Млин, не подскажите, где именно менять Debug на Release?
То, что-то я не могу найти...
Зарание спасибо!
PM MAIL   Вверх
sergejzr
Дата 30.9.2004, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Вот тут


Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  menu.gif


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Royan
Дата 30.9.2004, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


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

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



А в .NET Project > Properties, жмешь кнопку "configuration manager" и меняешь.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
[m][a][n]
Дата 30.9.2004, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Супер!
Большое спасибо!
PM MAIL   Вверх
Гость_Sergey
Дата 22.10.2004, 01:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если на API то:

#ifndef _DEBUG
#pragma comment(linker, "-merge:.rdata=.text")
#pragma comment(linker, "-merge:.data=.text")
#pragma comment(linker, "-merge:.reloc=.text")
#pragma comment(linker, "-FILEALIGN:512 -IGNORE:4078")
#pragma comment(linker, "-SECTION:.text,EWRX")
#pragma comment(linker, "-entry:WinMainCRTStartup")
#endif


#ifdef _DEBUG

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE,
LPSTR,
int)
#else

extern "C" void WinMainCRTStartup()

#endif
{
..... твой код.....

#ifdef _DEBUG

return 0;

#endif
}

  Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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