Try to allow different alignments and BSS. Untested.
[wincetools.git] / virtual-alloc.c
1 #include <windows.h>
2
3 int
4 main (int argc, char *argv[])
5 {
6   int asize = 1024*1024*1024;
7   int total_high = 0;
8   int total_low = 0;
9
10   printf ("Trying size 0x%08x\n", asize);
11
12   while (asize >= 4096)
13     {
14       void *ptr;
15
16       ptr = VirtualAlloc (NULL, asize, MEM_RESERVE, PAGE_NOACCESS);
17       if (ptr != NULL)
18         {
19           printf ("Allocated region of size 0x%08x at 0x%p\n", asize, ptr);
20           if (ptr >= (void*)0x40000000)
21             total_high += asize;
22           else
23             total_low += asize;
24         }
25       else
26         {
27           asize /= 2;
28           printf ("Trying size 0x%08x\n", asize);
29         }
30     }
31   printf ("Total High: 0x%08x\n", total_high);
32   printf ("Total Low:  0x%08x\n", total_low);
33   Sleep (300);
34  
35   return 0;
36 }