近日寫程序,讓全局共享變量給害苦了,現將結果公布出來,不希望有人步我後塵。
先總結經驗:全局共享變量一定要在定義時初始化,否則無效。
下面寫兩行代碼進行驗證(Visual Studio .NET 2003 + Windows Servers 2003):
////////////////////////////
//main.c
#include
#include "resource.h"
__declspec(dllexport) void Test(HWND hWnd);
//主窗體回調函數
LRESULT CALLBACK MainProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_COMMAND:
{
if(LOWORD(wParam)==IDOK)
{
Test(hWnd);
return 1;
}
else if(LOWORD(wParam)== IDCANCEL)
{
EndDialog(hWnd,0);
return 1;
}
}
}
return 0;