write_dev_mem.c
来自「fsmlabs的real time linux的内核」· C语言 代码 · 共 56 行
C
56 行
/* * Written by Der Herr Hofrat, der.herr@hofr.at * (C) 2002 FSMLabs * License: GPL Version 2 *//* * Example of write access to shared memory from user-space */#include <stdlib.h>#include <stdio.h>#include <fcntl.h>#include <unistd.h>#include <sys/mman.h>#include "hello.h"struct shared_mem_struct* shared_mem;int memfd;int main(){ char input[40]; char stop=0; memfd = open("/dev/mem", O_RDWR); if (memfd){ shared_mem = (struct shared_mem_struct*) mmap(0, sizeof(struct shared_mem_struct), PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, memfd, MEMORY_OFFSET); if(shared_mem != NULL){ printf("enter integer value to put in sahred memory - <quit> to exit\n"); do{ scanf("%s", input); shared_mem->some_int = atoi(input); shared_mem->ready = 1; }while (strcmp("quit",input)); } else{ printf("Failed to map memory\n"); close (memfd); exit(-1); } } else{ printf("Failed to open memory device file\n"); exit(-1); } close(memfd); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?