1 #include <sys/mman.h> 2 3 #include <stdlib.h> 4 #include <unistd.h> 5 #include <err.h> 6 7 int 8 main(int argc, char **argv) 9 { 10 int stack = 0; 11 void *heap = NULL; 12 void *mapping = NULL; 13 14 if ((heap = malloc(10)) == NULL) 15 err(1, "couldn't allocate"); 16 17 if ((mapping = mmap((caddr_t)0, 10, (PROT_READ | PROT_WRITE), 18 MAP_ANON|MAP_PRIVATE, -1, 0)) == (void*)-1) 19 err(1, "couldn't map"); 20 21 printf(" stack: 0x%p\n", &stack); 22 printf(" heap: 0x%p\n", heap); 23 printf("mapping: 0x%p\n", mapping); 24 printf(" text: 0x%p\n", &main); 25 return (0); 26 }