check_mmap1.c
来自「xen虚拟机源代码安装包」· C语言 代码 · 共 49 行
C
49 行
/*#notarget: cris*-*-elf*/#define _GNU_SOURCE#include <string.h>#include <stdlib.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <sys/mman.h>int main (int argc, char *argv[]){ int fd = open (argv[0], O_RDONLY); struct stat sb; int size; void *a; const char *str = "a string you'll only find in the program"; if (fd == -1) { perror ("open"); abort (); } if (fstat (fd, &sb) < 0) { perror ("fstat"); abort (); } size = sb.st_size; /* We want to test mmapping a size that isn't exactly a page. */ if ((size & 8191) == 0) size--; a = mmap (NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); if (memmem (a, size, str, strlen (str) + 1) == NULL) abort (); printf ("pass\n"); exit (0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?