何か創りたい。
http://toshirr.blog13.fc2.com/
* Toshi's Recess Room - Toshi Creates. - ウィンドウ作成のテスト
<< 2017/09 - 2017/10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - 2017/11 >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ No. ]
[ 日時 : --/--/-- (--.) --:--:-- ]
[ カテゴリ : スポンサー広告 ]


ウィンドウ作成のテスト

Microsoft Visual C++ 2005 Express Edition (以下、面倒なので VC2005EE) で、
簡単なウィンドウを作成するプログラムを書きました。
自分にとってこれが C++ の文法を理解するきっかけになればいいかなと思います。
#include <windows.h>

LRESULT CALLBACK WindowProc(HWND hWnd,UINT dwMsg,WPARAM wParam,LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int intShowCmd)
{
HWND hWnd;
WNDCLASSEX WCEX;
WCEX.cbSize=sizeof(WCEX);
WCEX.cbClsExtra=0;
WCEX.cbWndExtra=0;
WCEX.hbrBackground=(HBRUSH)(COLOR_3DFACE+1);
WCEX.hCursor=LoadCursor(NULL,(LPCWSTR)IDC_ARROW);
WCEX.hIcon=LoadIcon(NULL,(LPCWSTR)IDI_APPLICATION);
WCEX.hIconSm=LoadIcon(NULL,(LPCWSTR)IDI_APPLICATION);
WCEX.hInstance=hInstance;
WCEX.lpfnWndProc=WindowProc;
WCEX.lpszClassName=TEXT("TestWindowsApplication");
WCEX.lpszMenuName=NULL;
WCEX.style=CS_OWNDC|CS_VREDRAW|CS_HREDRAW;
RegisterClassEx(&WCEX);
hWnd=CreateWindowEx(NULL,TEXT("TestWindowsApplication"),TEXT("TestWindowsApplication"),
WS_VISIBLE|WS_OVERLAPPEDWINDOW,0,0,640,480,NULL,NULL,hInstance,NULL);
MSG Message;

while(TRUE)
{
if(GetMessage(&Message,NULL,NULL,NULL)!=1) break;
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return 0;
}

LRESULT CALLBACK WindowProc(HWND hWnd,UINT dwMsg,WPARAM wParam,LPARAM lParam)
{
switch (dwMsg){
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd,dwMsg,wParam,lParam);
}

}
これを出来るだけサイズが小さくなるようにビルドすると、
Release では 7 KB の超軽量。しかし...

これは VC のランタイムである DLL に動的にリンクしているから。
静的にリンクさせると 38 KB となります。
どちらにも一長一短あります。

動的リンクは実行ファイルのサイズは小さくなりますが、ランタイム DLL の導入の必要があること。
.NET Framework 2.0 や、再頒布可能パッケージをインストールすればいいということですが、
なんか気の引けてしまう方法です。

静的リンクはランタイム DLL の導入の必要はありませんが、
実行ファイルのサイズが少し大きくなり、使い方によっては不都合が発生するとのこと。

どうしたらよいものか。
スポンサーサイト

[ No. 451 ]
[ 日時 : 2006/12/05 (Tue.) 23:48:01 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 0 ]


コメント


コメントの投稿









トラック バック


トラック バック URI

http://toshirr.blog13.fc2.com/tb.php/451-8a878c2e


前後の記事

これ以降に書かれた記事 : 悪戦苦闘
これ以前に書かれた記事 : Visual C++ 2005 をいじる

プロフィール

Toshi

  • Author:Toshi
  • 何かを創りたい Toshi の記録


ブログ内の検索


最近の記事


最近のコメント


最近のトラック バック


カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -


月別の記事


カテゴリ別の記事


RSS フィード


<< 2017/09 - 2017/10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - 2017/11 >>
* Toshi's Recess Room - Toshi Creates. - ウィンドウ作成のテスト
http://toshirr.blog13.fc2.com/
(C) 2005 - 2009 Toshi, All Rights Reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。