на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Вывод размера страницы памяти

18-19 Размер страницы памяти получается вызовом sysconf и выводится на экран.



Листинг 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 }


Отображение файла в память | UNIX: взаимодействие процессов | Чтение и запись в область отображения