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

  • 相关阅读:
    Thread记录
    反射的学习笔记--sql语句生成
    Index was outside the bounds of the array. (Microsoft.SqlServer.Smo)
    contains 方法
    mysql connector 和 sqlserver ado.net 的区别
    javascript slice
    javascript bind
    转,SelectNodes + XPath
    jsgen 搭建
    【转】基于第一个PhoneGap(cordova)的应用详解
  • 原文地址:https://www.cnblogs.com/xinfenglee/p/10824140.html
Copyright © 2011-2022 走看看