File: malloc.c

package info (click to toggle)
clisp 1%3A2.27-0.5
  • links: PTS
  • area: main
  • in suites: woody
  • size: 49,860 kB
  • ctags: 20,752
  • sloc: ansic: 123,781; lisp: 67,533; asm: 19,633; xml: 11,766; sh: 9,788; fortran: 8,307; makefile: 3,570; objc: 2,481; perl: 1,744; java: 341; yacc: 318; sed: 117
file content (27 lines) | stat: -rw-r--r-- 703 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* compile:  cc -o malloc malloc.c
   try:      malloc 50000
             malloc 100000
             malloc 1000000
*/
#include <stdio.h>

void printf_address (addr)
  unsigned long addr;
{ if (sizeof(unsigned long) <= 4)
    printf ("#x%8X", (unsigned int)addr);
  else
    printf ("#x%8X%08X",(unsigned int)(addr>>32),(unsigned int)(addr&0xFFFFFFFF));
}

int main (argc,argv)
  int argc;
  char** argv;
{ int i;
  for (i = 1; i < argc; i++)
    { int arg = atoi(argv[i]);
      unsigned long result = (unsigned long)malloc(arg);
      printf ("malloc(%d) = ",arg); printf_address (result); printf ("\n");
    }
  printf ("&main = "); printf_address ((unsigned long)&main); printf ("\n");
  exit(0);
}