皮皮学,免费搜题
登录
搜题
【简答题】
#include #include #include #include #include #include #define _BUF_MAX 125 static int major = 250; static int minor = 0; //定义设备名为devno,定义结构体名为cdev; _________________________; _________________________; static int my_drv_open(struct inode *inode, struct file *fl); static ssize_t my_read(struct file *rfl, char __user *rbuf, size_t count, loff_t *lf); static ssize_t my_write(struct file *wfl, const char __user *wbuf, size_t count, loff_t *lf); //file_operations添加三个方法,open方法调用my_drv_open函数,read方法调用my_read函数,write方法调用my_write函数 static struct file_operations my_drv_fops={ _________________________, _________________________, _________________________, }; static char val[_BUF_MAX] = {0}; static int my_drv_open(struct inode *inode, struct file *fl) { printk("my_drv_open"); return 0; } static ssize_t my_read(struct file *rfl, char __user *rbuf, size_t count, loff_t *lf) { unsigned int buf_len = (unsigned int)(sizeof(val)/sizeof(char)); unsigned int i; if(buf_len < count) count = buf_len; printk("my_drv read len:%ld", count); if(copy_to_user(rbuf, val, count)) { return -EFAULT; } buf_len = count; for(i = 0; i < buf_len;i++) printk("my_drv read val[%d]=%d", i, val[i]); return 0; } static ssize_t my_write(struct file *wfl, const char __user *wbuf, size_t count, loff_t *lf) { unsigned int buf_len = (unsigned int)(sizeof(val)/sizeof(char)); unsigned int i; if(buf_len < count) count = buf_len; printk("my_drv write buf len:%ld", count); if(copy_from_user(val, wbuf, count)) { return -EFAULT; } buf_len = count; for(i = 0; i < buf_len;i++) printk("my_drv write val[%d]=%d", i, val[i]); return 0; } int my_drv_init(void) { int ret; printk("my_drv_init"); //指定dev_t设备的主次设备号为major和minor _________________________; //静态注册设备devno,已指定主次设备号,设备数量1,物理设备名为/dev/hello,如果注册返回值小于0,显示出错 _________________________; _________________________ { _________________________; _________________________; } //初始化结构体cdev,结构体cdev的名称hello_d,结构体file_operations的名称hello_ops _________________________; //向系统添加结构体cdev的名称为hello_d,设备dev_t名称为devno,数量为1。 _________________________; if(ret < 0) { printk("cdev_add fail \n"); return ret; } return 0; } void my_drv_exit(void) { unregister_chrdev(100, "my_drv"); } module_init(my_drv_init); module_exit(my_drv_exit); //作者qyt,版本0.1,版权GPL _________________________; _________________________; _________________________;
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【多选题】传感器的信号种类包括( )
A.
直流信号
B.
交流信号
C.
固定脉冲信号
D.
调变脉冲信号
【单选题】武士C4I计划是哪个国家提出的?
A.
中国
B.
俄罗斯
C.
美国
D.
日本
【多选题】计算机的发展历程是()。
A.
电子管计算机
B.
大规模集成电路计算机
C.
晶体管计算机
D.
集成电路计算机
【单选题】关于输尿管,错误的是
A.
是一对细长的肌性管道
B.
起始于肾盂
C.
在盆部,输尿管跨过子宫动脉的前方
D.
有3处狭窄
【单选题】在软件结构化设计中,好的软件结构设计应该力求做到( )。
A.
顶层扇出较少,中间层扇出较高,底层模块低扇入
B.
顶层扇出较高,中间层扇出较少,底层模块高扇入
C.
顶层扇入较少,中间层扇出较高,底层模块高扇入
D.
顶层扇入较少,中间层扇入较高,底层模块低扇入
【单选题】交换机的发展历程是()。
A.
人工交换机——步进制交换机——纵横制交换机——程序控制数字交换机;
B.
步进制交换机——人工交换机——纵横制交换机——程序控制数字交换机;
C.
人工交换机——纵横制交换机——步进制交换机——程序控制数字交换机;
D.
纵横制交换机——步进制交换机——人工交换机——程序控制数字交换机;
【简答题】如果牛肉的价格下降,可能会出现( ) A 、羊肉的价格下降 B 、对牛肉的需求减少 C 、羊肉的价格提高 D 、对牛肉汉堡的需求下降
【单选题】Kate was the only person in her office who ___invited to the palace ball.
A.
was
B.
were
C.
have been
D.
has been
【简答题】已知图 8 中的 V , A 。用图 9 所示的等效理想电流源代替图 8 所示的电路,该等效电流源的参数 = A 。
【单选题】关于输尿管的叙述,错误的是
A.
输尿管起白肾盂,终于膀胱
B.
输尿管为细长的肌性管道
C.
输尿管壁有较厚的横纹肌
D.
输尿管可作节律性的蠕动
E.
输尿管的作用是输送尿液至膀胱
相关题目: