tmmap.c

来自「Newlib 嵌入式 C库 标准实现代码」· C语言 代码 · 共 43 行

C
43
字号
#include <sys/types.h>#include <sys/mman.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include "check.h"int main(){  int fd;  char *x;  FILE *fp;  char buf[40];  fd = open("my.file", O_CREAT | O_TRUNC | O_RDWR, 0644);  CHECK (fd != -1);  CHECK (write (fd, "abcdefgh", 8) == 8);    x = (char *)mmap (0, 20, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);  CHECK (x != MAP_FAILED);  x[3] = 'j';  CHECK (munmap (x, 20) == 0);  CHECK (close(fd) != -1);  fp = fopen("my.file","r");  CHECK (fp != NULL);  CHECK (fread(buf, 1, 20, fp) == 8);  CHECK (strncmp (buf, "abcjefgh", 8) == 0);  exit (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?