重要的点
1、module_init和module_exit是宏,他的参数,即入口和出口函数,原型分别是:
static int __init ldd1_init(void);
static void __exit ldd1_exit(void);
2、构造函数,要带主设备号,名字,对象方法。
析构函数,要带主设备号,名字。
ret = register_chrdev(LDD1_MAJOR,LDD1_NAME,&ldd1_fops);
unregister_chrdev(LDD1_MAJOR,LDD1_NAME);
3、write的用户数据传入指针,要带const
static int ldd1_write(struct file *filep,const char __user *buf,size_t cnt,loff_t *offt)
编译脚本
相当于通过$(MAKE) -C ( K D I R ) M = (KDIR)