linux下的驱动大小,(转)Linux驱动开发需要注意的点/KO大小/内存管理
1.不要想不通就写代码,不要为了存粹的解决问题而加代码,不要忽视任何一种场景可能,因为躲得了一时,躲不了一波,BUG迟早会被挖出来的,到时候更加苦逼。
2.内存是个很严肃的问题,不要直接调用系统函数,最好把malloc、kmalloc、kzalloc、vmalloc封装一层,入参module ID,size,name,统计好申请的内存,可以用proc查看,调试等,进行一个管理,这样可以对内存做一个很好的管理。
3.关于KO的大小,尽可能动态申请内存吧。虽然可能会造成程序运行效率变慢,因为申请内存耗时也不少。不过像很大的全局数据,可以加载KO的时候申请,这样既不会降低性能,也能裁剪KO。无用的函数、变量也不要保留。积少成多。
4.内存的使用,嵌入式内存都比较少,尤其是成熟的成品,比性价比的时候,省内存就很重要了,不要很随意的申请内存,很多场景不需要,就不要申请哦,做好解耦。
5.很多奇淫技巧,数组的大小申请4/8的倍数,结构体小元素放前面,移位代替乘除法,switch比较多用查表,降低圈复杂度,防止栈溢出,注意32位芯片和64位芯片代码的移植(地址和long)。
---------------------
作者:放狼的爷们
来源:CSDN
原文:https://blog.csdn.net/helloguoqijun/article/details/79418549
linux下的驱动大小,(转)Linux驱动开发需要注意的点/KO大小/内存管理相关推荐
- omap3530 linux串口驱动,LINUX下OMAP3530接MT9P031的摄像头驱动调试 给力的一周
最近有两个项目都挺着急的,尤其是LINUX下OMAP3530接MT9P031的摄像头驱动弄了很长时间.本来是让新来的兄弟负责驱动开发来着,无奈兄弟没有接触过硬件,也没有linux下视频驱动开发的经验, ...
- linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...
linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找 ...
- linux下查看文件的权限,Linux下查看文件权限、修改文件权限的方法
查看权限命令查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la 如 ls -l www.jb51.net //这里表示查看www.jb51.net目录 修改权限命令 chmod 77 ...
- linux下的zz命令,[zz]Linux下压缩命令
一.Linux下和windows下的压缩文件的几个说明 在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可是Linux就不同了,它有.gz..tar.gz.tgz. bz ...
- linux环境下ps命令行,Linux下ps命令详解 Linux下ps命令的详细使用方法
Linux下ps命令详解 Linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运 ...
- linux 下查看应用版本信息,Linux下查看版本信息
Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等. 1.# uname -a (Linux查看版本当前操作系统内核信息) 2.# cat /proc/vers ...
- linux下能运行python,(转)Linux下运行python
原文: http://blog.csdn.net/jackywgw/article/details/48847187 在linux命令行下运行python,可以直接输出hello world jack ...
- linux下剪切文件怎么恢复,linux下文件夹的创建、复制、剪切、重命名、清空和删除命令...
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...
- 马上6 linux客户端,三款 Linux 下的 Git 图形客户端 | Linux 中国
原标题:三款 Linux 下的 Git 图形客户端 | Linux 中国 了解这三个 Git 图形客户端工具如何增强你的开发流程. -- Jack Wallen 致谢 编译自 | https://ww ...
- linux下安装.hex文件,HexEdit Linux下命令集
Linux下Ganglia集群监控安装.配置笔记 http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html 枪声依旧 Linux下 ...
最新文章
- android 6.0 重启 丢失 壁纸,android6.0 壁纸设置流程讲解
- 淺談Raid Cache Memory上應用的問題和實踐
- maxthon在浏览的页面上右键按住不动再按滚轮可以对打开的选项卡进行选择!
- .net开源框架开源类库(整理)
- matlab控制树莓派3b,树莓派3B+ 手机h5网页控制GPIO
- Centos 6.5 linux 安装nginx
- 第二次打开不是最大_第二次约会男生该干嘛,才能让关系更进一步?
- g++能过,c++过不了
- Unity寻路的功能总结
- 优秀的人都有一个共同点
- C语言两个同名头文件,C lang: C语言中两个头文件引入相同的头文件(Header.h)
- C语言数据结构——求二叉树叶子结点个数
- This request has been blocked; the content must be served over HTTPS
- ctrl+alt+方向键 与win7的旋转屏幕冲突解决
- 学校计算机协会面试自我介绍,个人社团面试自我介绍范文三篇
- 服务器异常的处理方式
- Win32计算器:输入出生年月日,输出周岁,星座以及距离下一次生日的天数
- AJAX处理返回的XML字符串
- [日常技能]手机投屏到电视的5种方法
- dream_ready
热门文章
- 更新wpscan_wpscan扫描工具
- mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程
- 台达plc自由口通讯_台达PLC和ABB机器人Devicenet通讯
- Hadoop YARN:调度性能优化实践
- 图谱实战 | 徐美兰:深度应用驱动的医学知识图谱构建
- 论文浅尝 | 近期论文精选
- 2020年8个效率最高的爬虫框架
- 中文摘要生成 综述
- Wasserstein metric的通俗解释
- (Android开发辅助工具)动态广播注册解注工具