home *** CD-ROM | disk | FTP | other *** search
- #include "gwin.user.h"
- main()
- {
-
- UBYTE *AllocMem(), *fake1, *fake2;
-
- /* What, you may ask, is this? Well I usually test memory */
- /* allocation/deallocation by checking to see if the */
- /* available memory is the same after I run my program */
- /* as it was before I run my program. On the Amiga, it */
- /* is not. Some sort of screwball accounting is being */
- /* done by the operating system so that if you used */
- /* diskfonts (which I do), the memory does not REALLY */
- /* free itself up until you try to allocate more than is */
- /* "virtually free". By attempting to allocate a large */
- /* block of memory, (in this case, 10 megabytes which is */
- /* impossible) we fake the system out into freeing */
- /* everything so that we can tell if we forgot to free */
- /* our own personal memory. If you check the memory that */
- /* appears to be available before running a program, that */
- /* opens a diskfont, then run the program, then look at */
- /* the memory availability again, it will look like you */
- /* forgot to release memory. If you run recovermem, the */
- /* ACTUAL memory available will be reset to what it */
- /* REALLY is! */
-
- /* This program will also remove libraries if their open */
- /* counts are 0. All sorts of amazing things... */
-
- /* I have put code similar to this in the uend routine */
- /* of GWIN. It occurs right before the call to the user */
- /* cleanup handler. */
-
-
-
- fake1 = AllocMem(10000000,MEMF_CHIP);
- fake2 = AllocMem(10000000,MEMF_FAST);
-
- if(fake1) FreeMem(fake1,10000000);
- if(fake2) FreeMem(fake2,10000000);
-
-
- }
-
-
-