linux下的驱动大小,(转)Linux驱动开发需要注意的点/KO大小/内存管理
1.不要想不通就寫代碼,不要為了存粹的解決問題而加代碼,不要忽視任何一種場景可能,因為躲得了一時,躲不了一波,BUG遲早會被挖出來的,到時候更加苦逼。
2.內(nèi)存是個很嚴肅的問題,不要直接調(diào)用系統(tǒng)函數(shù),最好把malloc、kmalloc、kzalloc、vmalloc封裝一層,入?yún)odule ID,size,name,統(tǒng)計好申請的內(nèi)存,可以用proc查看,調(diào)試等,進行一個管理,這樣可以對內(nèi)存做一個很好的管理。
3.關于KO的大小,盡可能動態(tài)申請內(nèi)存吧。雖然可能會造成程序運行效率變慢,因為申請內(nèi)存耗時也不少。不過像很大的全局數(shù)據(jù),可以加載KO的時候申請,這樣既不會降低性能,也能裁剪KO。無用的函數(shù)、變量也不要保留。積少成多。
4.內(nèi)存的使用,嵌入式內(nèi)存都比較少,尤其是成熟的成品,比性價比的時候,省內(nèi)存就很重要了,不要很隨意的申請內(nèi)存,很多場景不需要,就不要申請哦,做好解耦。
5.很多奇淫技巧,數(shù)組的大小申請4/8的倍數(shù),結(jié)構(gòu)體小元素放前面,移位代替乘除法,switch比較多用查表,降低圈復雜度,防止棧溢出,注意32位芯片和64位芯片代碼的移植(地址和long)。
---------------------
作者:放狼的爺們
來源:CSDN
原文:https://blog.csdn.net/helloguoqijun/article/details/79418549
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux下的驱动大小,(转)Linux驱动开发需要注意的点/KO大小/内存管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iar 连接linux开发板,LED裸机
- 下一篇: linux c 子线程sleep,lin