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


Автор: alligator 10.7.2006, 01:10
Доброго времени суток недавно работаю с Borland C++
такая проблемка программка состоящая из 3 строчек кода после компилирования получаеться размеров в ~30 - 50 Кб это не есть гуд....
нашел статью как это можно исправить....
http://www.realcoding.net/article/view/1028
но наткнулся на другую проблему...
Когда меняю заголовки....
Warning W8094 sock.cpp 3: Incorrect use of #pragma comment( <type> [,"string"] )
Warning W8094 sock.cpp 4: Incorrect use of #pragma comment( <type> [,"string"] )
Warning W8094 sock.cpp 6: Incorrect use of #pragma comment( <type> [,"string"] )
Как мне исправить эту проблемку подскажите пожалуйста....
или как сделать так чтоб программа была нормального размера... ?
 

Автор: koljan 10.7.2006, 01:38
Код

#include <windows.h>         // Подключаем заголовочный файл Windows
#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078")
#pragma comment(linker,"/ENTRY:WinMain")
#pragma comment(linker,"/opt:nowin98")

//----------------------------------------------------------------------------------------
// Функция
// MainWinProc()
// Здесь происходит обработка сообщенний
//----------------------------------------------------------------------------------------

LRESULT CALLBACK MainWinProc(HWND hwnd,             //Дескриптор окна
                            UINT msg,               //идентефикатор сообщение  
                            WPARAM wparam,          //Дополнительная информация 
                            LPARAM lparam)          //Дополнительная информация
{

switch(msg)
    {    
    

    case WM_PAINT: 
         break;

    case WM_DESTROY: 
        {
        PostQuitMessage(0);
        return(0);
        } break;

    } 

  return (DefWindowProc(hwnd, msg, wparam, lparam));
} 
//---------------------------------------------------------------------------------------
// Функция
// WinMain()
// Входная точка приложения
//---------------------------------------------------------------------------------------

int WINAPI WinMain(    HINSTANCE hinstance,
                    HINSTANCE hprevinstance,
                    LPSTR lpcmdline,
                    int ncmdshow)
{

WNDCLASSEX windowsclass; // Создем класс
HWND       hwnd;         // Создаем дескриптор окна
MSG        msg;          // Сообщение


// Определим класс окна WNDCLASSEX
windowsclass.cbSize         = sizeof(WNDCLASSEX);
windowsclass.style            = CS_DBLCLKS | CS_OWNDC | 
                              CS_HREDRAW | CS_VREDRAW;
windowsclass.lpfnWndProc    = MainWinProc;
windowsclass.cbClsExtra        = 0;
windowsclass.cbWndExtra        = 0;
windowsclass.hInstance        = hinstance;
windowsclass.hIcon            = LoadIcon(hinstance, IDI_APPLICATION);
windowsclass.hCursor        = LoadCursor(NULL, IDC_ARROW);
windowsclass.hbrBackground    = (HBRUSH)GetStockObject(GRAY_BRUSH);
windowsclass.lpszMenuName    = NULL;
windowsclass.lpszClassName    = "WINDOWSCLASS";
windowsclass.hIconSm        = LoadIcon(NULL, IDI_APPLICATION);

// Зарегестрируем класс
if (!RegisterClassEx(&windowsclass))
    return(0);

// Теперь когда класс зарегестрирован можно создать окно

if (!(hwnd = CreateWindowEx(NULL,              // стиль окна
                            "WINDOWSCLASS",    // класс
                            "Простое окно ",    // название окна
                            WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                            300,150,               // левый верхний угол
                            500,400,           // ширина и высота
                            NULL,               // дескриптор родительского окна 
                            NULL,               // дескриптор меню
                            hinstance,         // дескриптор экземпляра проложенния
                            NULL)))               // указатель на данные созданного окна
return(0);
     
     
        ShowWindow( hwnd, SW_SHOWDEFAULT );    //Нарисуем окно    
        UpdateWindow( hwnd );                  //Обновим окно    

while(GetMessage(&msg,NULL,0,0))
     { 
     
     TranslateMessage(&msg);

     DispatchMessage(&msg);
     } 


return(0);

}

вот из такого кода на VC++ получается простое окно и весит прога 1,5 Кб 

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