国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一線研發之聲:嵌入式C編程經驗 之 請寫可移植性高的模塊

發布時間:2012-2-21 14:14    發布者:絕對好文
關鍵詞: C編程 , c語言 , SedateFire , 移植
/********************************************************************
* Filename:一線研發之聲:嵌入式C編程經驗 之 請寫可移植性高的模塊
* Author:SedateFire E-mail:SedateFire@126.com
* Version:1.000 Time: 2012-01-05
* key: 嵌入式  可移植性  模塊化  依賴
********************************************************************/

我想你或許有這樣的經驗,你要實現的一個模塊同事已經實現了。老板發話說:你復用他的代碼啊,半天給我搞定。于是你拷過來編譯一下,幾乎是必然的,會有error有warning,一看,哇,原來依賴了這么多外部的東東。于是你開始著手修改它,如果模塊小,自然三兩下搞定。如果是個大的模塊要復用,一下彈出幾百個編譯錯誤報警,我想你邊修改心里也邊罵娘。

我靠,這個蜂鳴器控制函數為何要去判斷當前在作什么應用?!

我靠,這么多缺失的include文件,沒有拷過來嗎?

我靠,這個函數是什么東東,注釋明顯對不上,還判斷賦值了一堆全局變量。

我靠,這個if處理了,那else呢,哪里去了?這是什么跟什么啊。

我靠,通通刪掉干掉,自己加班偷偷重寫好了。

什么!老板在催了,我靠靠靠啊…

想必你有共鳴了......

那么如何實現可移植性高的代碼呢,我就先寫幾點吧,有些晚了,準備睡覺了

1.擅用define。請把“裸露”的常量,用短小又信息準確的宏定義起來,務必全大寫。常量的宏定義要大寫,我會在后期關于代碼規范的主題文章分析。請把設備驅動的io,用define定義分離出來。當然,還有許多妙用,宏定義簡直是移植旅行必備佳品。待我后期再整理下思路吧。

2.抽像出平臺依賴嚴重的代碼。比如訪問一個特定mcu寄存器,開關中斷,清狗指令,中斷寫法等等。

3.如果可以,我希望你的.c檔中包含的.h檔盡可能的少。這樣在移植的時候,你只要看包含了那些.h檔,你就知道該模塊大概依賴了其他哪些模塊。我知道,大多數的程序員都喜歡在.c檔的文件頭僅有一個

#include "includes.h"

而在includes.h 中包羅萬象,這是原罪!當然,要一個蘿卜一個坑地梳理清楚.c與.h檔的關系,需要長期的工作經驗,尤其在編譯條件錯綜復雜時,操作起來的確痛苦且容易出錯,但其實這已經預示了你系統架構的某種不合理。

如果沒有足夠的經驗,那么我建議你,先在設備層的.c檔盡量包含盡可能少的.h檔。然后把設備層的.h檔放在includes.h中,給應用層使用。

3. 打造自定義庫,這個準備設專題講解。

4. 通信數據統一是大端的,內部應用代碼統一用數值說話,和大小端無關,不要亂糟糟的一片胡寫蠻纏。少用union,發送數據時統一用單字節移位發出去,接收時用移位收進來。犧牲了效率,但提高了可移植性。在51中也許不大現實,但在未來M3的大趨勢下,效率是可以犧牲的。

5.欲知后事如何,請聽下回分解....
本文地址:http://m.qingdxww.cn/thread-86287-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日本一区二区三区| 午夜欧美精品久久久久久久| 天天拍天天干天天操| 在线看片亚洲| 在线综合+亚洲+欧美中文字幕| 久久成人午夜电影mp4| 曰批视频免费40分钟不要钱| 西西毛片| 亚洲性色视频| 真人一级毛片| 嫩草影院永久在线一二三四| 台湾黄色毛片| 日韩中文字幕精品久久| 天天综合天天综合| 朝鲜女人性猛交| 晓雪老师我要进你里面好爽| 亚洲精品www久久久久久| 偷窥自拍亚洲色图| 亚洲天堂在线视频| 久草在线福利资站免费视频| 欧美成人极品怡红院tv| 青青国产成人久久91网| 色综合天天五月色| 99在线视频免费观看视频| 欧美一夜爽爽爽爽爽爽| 亚洲成a人片在线播放| 天堂资源站| 亚洲视频在线观| 久久AV喷吹AV高潮欧美| 日韩在线视频免费播放| 日韩精品一区二区三区中文精品 | 问一问免费咨询| 国产精品97久久AV麻豆| 伊人久久综合影院| 人碰人操| 午夜精品久久久久久| 国产精品爽黄69天堂A片| 在教室伦流澡到高潮HNP视频| 青青视频在线播放| 五月天丁香视频| 国产午夜高潮熟女精品AV|