接着我们可以运行:
mknod /dev/globalvar c 254 0 |
创建设备节点,用户进程通过/dev/globalvar这个路径就可以访问到这个全局变量虚拟设备了。我们写一个用户态的程序globalvartest.c来验证上述设备:
#include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <fcntl.h> main() { int fd, num; //打开"/dev/globalvar" fd = open("/dev/globalvar", O_RDWR, S_IRUSR | S_IWUSR); if (fd != -1 ) { //初次读globalvar read(fd, &num, sizeof(int)); printf("The globalvar is %d\n", num);
//写globalvar printf("Please input the num written to globalvar\n"); scanf("%d", &num); write(fd, &num, sizeof(int));
//再次读globalvar read(fd, &num, sizeof(int)); printf("The globalvar is %d\n", num);
//关闭"/dev/globalvar" close(fd); } else { printf("Device open failure\n"); } } |
编译上述文件:
gcc -o globalvartest.o globalvartest.c |
运行
可以发现"globalvar"设备可以正确的读写。
-- 原文链接: http://dev.yesky.com/186/2623186_1.shtml
|