test.c

来自「Linux下的驱动编程」· C语言 代码 · 共 80 行

C
80
字号
/*Linux2.6 驱动测试实例在此之前应该在系统中为驱动程序模块建立一个设备节点# mknod /dev/dexinmeng c 999 0加载驱动insmod XXX.o功能简述:以读写方式打开文件"/dev/dexinmeng";使用ioctl配置文件;读取length个字符数据,并输出看看是否是length个相同的字符;写入length个字符数据;关闭文件。之后编译、运行该程序,然后再用dmesg命令查看内核空间的信息。注意:如果运行失败,有可能是权限的问题。作者:时间:2008/12/25*/#include<unistd.h> 		/* 该行是必须最早出现的 */#include<stdio.h>#include<stdlib.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>static char *dev_name = "/dev/dexinmeng";int main(int argc,char *argv[]){	int fd;	char mybuf[128];	char wbuf[128] = "This is dexinmeng!";	int nread,nwrite;		fd = open( dev_name , O_RDWR );	if(fd == -1){		printf("open failed.\n");		return EXIT_FAILURE;	}		ioctl(fd,789);		memset(mybuf,0,sizeof(mybuf));	nread = read(fd,mybuf,sizeof(mybuf)-1);	printf("nread = %d\n",nread);	printf("read:%s\n",mybuf);		nwrite = write(fd,wbuf,strlen(wbuf));	printf("nwrite = %d\n",nwrite);	printf("write:%s\n",wbuf);		close(fd);		return EXIT_SUCCESS;}

⌨️ 快捷键说明

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