View Single Post
Old 06-17-2008, 10:18 AM   #21 (permalink)
dcb
needs more cowbell
 
dcb's Avatar
 
Join Date: Feb 2008
Location: ÿ
Posts: 5,038

pimp mobile - '81 suzuki gs 250 t
90 day: 96.29 mpg (US)

schnitzel - '01 Volkswagen Golf TDI
90 day: 53.56 mpg (US)
Thanks: 158
Thanked 269 Times in 212 Posts
Hmm, the malloc version returns 318, if I replace the memoryTest function with the following I get 381. I suspect the stack pointer version is not as future proof or accurate though. But it may still be useful enough. Your *10 malloc version also highlights the fact that the free memory may not be contiguous, since that returns only 170 bytes free when retrieved in 10 byte chunks.

Code:
extern int  __bss_end;
extern int  *__brkval;
int memoryTest(){
  int free_memory;
  if((int)__brkval == 0)
    free_memory = ((int)&free_memory) - ((int)&__bss_end);
  else
    free_memory = ((int)&free_memory) - ((int)__brkval);
  return free_memory;
}

__________________
WINDMILLS DO NOT WORK THAT WAY!!!
  Reply With Quote