Почему прога так много весит

Тема в разделе "WASM.BEGINNERS", создана пользователем ajak, 22 апр 2009.

  1. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    Хотя всего один вызов и то илн библиотечный?

    #include <windows.h>

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
    {
    MessageBox(NULL, "Hello, Win32 world!", "Hello from Message Box", MB_OK);
    return 0;
    }


    Получилось 156 кило. Как уменьшить вес. Посмотрел в хекксе, куча нулей ненужных и букв ^С
     
  2. Aquila

    Aquila Самурай дзена

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    1.467
    Адрес:
    Russia, Moscow
    А компилятор-то какой?
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    ajak
    Наверное в код попали runtime-библиотеки.
     
  4. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    visual studio 6
     
  5. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Судя по буквам "С" это отладочная версия. Думаю, стоит попробовать скомпилировать версию release.
     
  6. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    размер слишком большой - врядли больше 4 кб должен быть
    видать не на тех весах взвешивал
     
  7. ajak

    ajak New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2007
    Сообщения:
    463
    да, поставил в рилез получилось 24 кило но всё равно много, кто подскажет или статейку кинет как ещё уменьшить мона размер
     
  8. AJAJA

    AJAJA New Member

    Публикаций:
    0
    Регистрация:
    18 апр 2009
    Сообщения:
    21
    Возьми хекс едитор и удаляй до тех пор пока программа будет рабочая.
     
  9. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    ajak
    приаттач бинарник
     
  10. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    crypto
    +1

    ajak
    Код (Text):
    1. #include <windows.h>
    2. #pragma comment(linker, "/ENTRY:alt_main")
    3.  
    4. void alt_main()
    5. {
    6.     MessageBox(NULL, "Hello, Win32 world!", "Hello from Message Box", MB_OK);
    7.     return;
    8. }
    enjoy!
     
  11. c4m310t

    c4m310t New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2008
    Сообщения:
    237
    Arthur
    +1
     
  12. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Arthur
    +1. Рулезно самый лучший способ. Слышал, правда, из-за этой опции кучу надо будет самому инициализировать и какие-то проблемы с вводом / выводом.
    Можно включить "динамическое MFC" тогда прога будет меньше весить на диске, но больше - в памяти. Можно оптимизацию задействовать, убрать выравнивание данных, поставить компиляцию под самый последний x86 процессор, но это будут уже мелочи. А все остальные опции - методом тыка.
    Чтобы секций было меньше, можно использовать pragma-директивы, чтобы назначать - куда совать код и данные (н-р чтобы константные строки в секцию .text напихать). Вот только самой pragma-директивы не помню :).
     
  13. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.784
    посмотри здесь