zoukankan      html  css  js  c++  java
  • (转)Linux驱动开发需要注意的点/KO大小/内存管理

    转自https://blog.csdn.net/helloguoqijun/article/details/79418549

    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

  • 相关阅读:
    反射:框架设计的灵魂
    Junit测试
    XML笔记
    map 的用法
    opencv总结1
    光源
    镜面反射
    openGL纹理对象
    GPU入门
    动态规划1
  • 原文地址:https://www.cnblogs.com/xinfenglee/p/10824140.html
Copyright © 2011-2022 走看看