Листинг 12.7. Отображение увеличивающегося файла в память
//shm/test2.c
1 #include "unpipc.h"
2 #define FILE "test.data"
3 #define SIZE 32768
4 int
5 main(int argc, char **argv)
6 {
7 int fd, i;
8 char *ptr;
9 /* открытие, создание, урезание и установка размера файла, вызов mmap */
10 fd = Open(FILE, O_RDWR | O_CREAT | O_TRUNC, FILE_MODE);
11 ptr = Mmap(NULL, SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
12 for (i = 4096; i <= SIZE; i += 4096) {
13 printf("setting file size to %d\n", i);
14 Ftruncate(fd, i);
15 printf("ptr[%d] = %d\n", i-1, ptr[i-1]);
16 }
17 exit(0);
18 }