write(STDOUT_FILENO, "1", 1);
char *data = malloc(1 << 30);
write(STDOUT_FILENO, "2", 1);
char *data2 = malloc(10);
write(STDOUT_FILENO, "3", 1);
free(data);
write(STDOUT_FILENO, "4", 1);
free(data2);
write(STDOUT_FILENO, "5", 1);
return 0;
}
то как раз так free от куска выделенного через mmap вызывает munmap:
write(1, "1", 11) = 1
brk(NULL) = 0x55bf3afe6000
brk(0x55bf3b007000) = 0x55bf3b007000
mmap(NULL, 1073745920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc89c5d6000
write(1, "2", 12) = 1
write(1, "3", 13) = 1
munmap(0x7fc89c5d6000, 1073745920) = 0
write(1, "4", 14) = 1
write(1, "5", 15) = 1
exit_group(0) = ?
+++ exited with 0 +++
Запусти мой код, пожалуйста :) я с мобилы писал
ща
Обсуждают сегодня