2018-09-22 总结

耗费时间点 1:

写代码不细心,实现字符设备的open函数,居然不给return返回值,导致应用一旦调用打开设备,就打印长串的内核崩溃打印,但是奇怪的是打印栈打印里面没有提及本人实现的open函数名.

以后一定要注意,只要是函数就给个返回.无论是否void.标识的函数,这样子应该可以提醒是否该设定返回值.

需要深刻记忆点 2: 

替代mknod命令的内核函数,可以用class_create(...) + device_create(...)函数实现.

知识点巩固 3:

C 宏 里的 ## 符号的使用,一定要谨记变量实体和非变量实体一定要分割清楚,不然达不到效果,

例如: 

#define A(a,b,c,d) struct a_##b c_##d

//使用的时候出现如下结果

A(H,Q,W,T); //相当于代码 struct a_Q c_T; 造成这个结果,就是没有把变量和常量用##分割好

//应当如下使用

#define A(a,b,c,d) struct a##_##b c##_##d

//使用的结果为

A(H,Q,W,T); //相当于代码 struct H_Q W_T; //这就是分割正确的效果

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,661评论 0 3
  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 12,988评论 0 13
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,845评论 0 2
  • 爱和喜欢是不一样的: 淡淡的爱是喜欢,深深的喜欢是爱! 喜欢的后来是爱,爱的后来是亲情! 世间有种情感叫“喜欢”,...
    和果阅读 2,118评论 0 4
  • 一周总结: 1. 企业生命周期:作为公司管理者应识别自己公司的管理阶段,转型期应该如何去做,成熟期我们又应要做些什...
    城市格调刘姣阅读 1,267评论 0 0