mmap()
が 32 ビット アドレスを返すのに 64 ビット アドレスを返すのはなぜmalloc()
ですか?
char *a = (char *)mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
printf("%p\n", a); // example: 0x7fbfbb065000
char *b = (char *)malloc(10); // example: 0x23bf010
printf("%p\n", b);