reply
int len = 1000; int file = open("numbers.void", O_RDWR | O_CREAT, 0600); ftruncate(file, len); void\* buf = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, file, 0); // Treat mmapped buffer as a heap initialize_heap(buf); // Manage dynamically-sized array on disk int* my_array = malloc(sizeof(int) * 8, buf); my_array = realloc(my_array, sizeof(int) * 16, buf); free(my_array, buf);