爲什麼mmap()
返回64位地址,而malloc()
返回32位地址?mmap()vs 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);
你並不需要把返回C程序中'malloc'(或'mmap')的值。 –
這完全依賴於實現並且沒有趣味。 – 2013-07-06 16:18:04
嘗試獲得並再次檢查 –