![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
Всем добрый вечер!
Меня интересует, как можно и реально ли вобще сократить размер исполняемого файла? Значит: Компилятор Microsoft Visual C++ 6 У меня прога под консоль занимает 188 kb Реально ли уменьшить размер исполняемого файла? Зарание спасибо! Это сообщение отредактировал(а) [m][a][n] - 28.9.2004, 19:06 |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Koнечно реально! Выкладывай исходник (или хотя бы отрывок), чтобы тебе рассказали, что можно урезать...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
А, что всё зависит от кода?
Просто к примеру, помойму (не смотрел, не знаю точно) программа типа "Hello World" уже будет занимать где-то 188 kb (примерно) Просто как небудь, обычными, стандартными средствами можно уменьшить? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
в том числе, ну и от компилятора -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
[m][a][n] , поменяй в установках проекта Debug на Release. А еще можно серьезно уменьшить размер проги написав ее полностью на MFC.
|
|||
|
||||
| Goldberg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 3.6.2004 Репутация: нет Всего: нет |
Наверное ты имел ввиду на API? --------------------
Вот такая у меня привычка, браться за задание, о выполнение которого я изначально не имею никакого представления. |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Вопрос - а толку, если придётся носить с собой библиотеку???!!! А какие <*.h> в проекте добавлены? Что-то сильно много. У меня программа визуальная занимала около 250 Кб., а это сильная разница. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
это только из за debag'a, как Perchilla сказал.
Иначе для такого веса надо бы было столько писать...... А сократить можно конечно Добавлено @ 00:32 Поменяешь на релиз, будет около 13 КБ, если программа обычая |
|||
|
||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
Используй UPX (EXE упаковщик), средство хоть и не стандартное, зато очень эффективное. Большинство последних червей им упаковано. Он кстати бесплатный.
http://upx.sourceforge.net/ |
|||
|
||||
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
Что еще кроме размера изменится, если я сменю с Debug на Release?
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Дебагить не сможешь.
Означает, что при ошибках дебагер будет показывать машинный код, а не твой исходник. Проверка ошибок отключается. Быстрее выполнятся будет. |
|||
|
||||
| S.A.P. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Ну может я не правильно выразился. Я хотел сказать что большАя часть рутины будет находиться в в библиотеках, которые кстати входят в стандарнтный комплект Windows. А потом парню размер экзешника уменьшить надо.
Опция Debug добавляет в скомпилированный экзешник отладочную информацию, чтобы программу отлаживать легче было. Естественно это сказывается на размере программы и скорости ее выполнения, поэтому рекомендую программу, которой больше не требуется отладка компилировать с опциями Release. Функциональность при этом не изменяется. Правда я видел одну статью, где говориться, что в некоторых случаях проект откомпилированный с опцией Debug будет работать быстрее, но это все экзотика. Вобщем не морочь себе голову. PS. MFC - это дело вкуса. Добавлено @ 21:50 sergej.z уже успел ответить, пока я копошился |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Это не совсем так А если я движок к БД например напишу. Какими рутинами мне пользоваться? |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
sergej.z я не зря ударение на букве А поставил
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
А если ты не пользуешся рутинами MFC то пользоваться MFC нет смысла
|
|||
|
||||
| Peter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 28.7.2003 Где: Ставрополь Репутация: -1 Всего: 1 |
Правильно говорят: меняй компилятор. На MinGW, например. Там "Hello, world!" будет килобайта три, я думаю, весить.
http://www.bloodshed.net/devcpp.html -------------------- всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23). |
|||
|
||||
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
Ясно, всё понял!
Всем большое спасибо! |
|||
|
||||
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
Млин, не подскажите, где именно менять Debug на Release?
То, что-то я не могу найти... Зарание спасибо! |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
||||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
А в .NET Project > Properties, жмешь кнопку "configuration manager" и меняешь.
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| [m][a][n] |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 25.8.2004 Репутация: нет Всего: нет |
Супер!
Большое спасибо! |
|||
|
||||
| Гость_Sergey |
|
|||
|
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 } |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |