/**************/ /* memtest.c */ /**************/ /* Project: memtest.c, simplet.def, ALI\tabhand.c, VAIN Win 3.1, miksi??? */ #include #include #include #include #include "tabhand.h" #define KOKO 1 //#define GLOBAL LONG n=0; LONG start; /***************************************************************************/ TblClassSWindowMAIN("MemTestClass",0,"MemTest",MsgTbl,0); /***************************************************************************/ /***************************************************************************/ void tulosta(HDC hDC) { char s[30]; LONG free; sprintf(s," %ld ",n); TextOut(hDC,10,10,s,strlen(s)); sprintf(s," %ld ",free=GetFreeSpace(0)); TextOut(hDC,120,10,s,strlen(s)); sprintf(s," %ld ",start-free); TextOut(hDC,220,10,s,strlen(s)); sprintf(s," %ld ",(LONG)((start-free)/n)); TextOut(hDC,320,10,s,strlen(s)); } /****************************************************************************/ static EVENT WM_paint(tMSGParam *msg) /* # MAKE_DC # */ { #pragma argsused // HGLOBAL gh; start = GetFreeSpace(0); #ifdef GLOBAL while ( GlobalAlloc(GMEM_MOVEABLE,KOKO) != 0 ) { #else while ( malloc(KOKO) != 0 ) { #endif if ( ++n % 10 == 0 ) tulosta(msg->hDC); } tulosta(msg->hDC); return 0; } /****************************************************************************/ static EVENT WM_create(tMSGParam *msg) /* Aliohjelmaa kutsutaan kun ikkuna on luotu, muttei vielä näytössä. */ { MoveWindow(msg->hWnd,10,10,300,200,FALSE); return 0; } /****************************************************************************/ /* Viestien käsittelytaulukko */ /****************************************************************************/ tMSGEntry MsgTbl[] = { EV_HANDLE_WM_DESTROY, { WM_PAINT , DoC , DoC , WM_paint, MAKE_DC }, /*a*/ { WM_CREATE , DoC , DoC , WM_create }, /*a*/ { 0 } }; /****************************************************************************/