衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在嵌入式C編碼中規范變量

麥辣雞腿堡 ? 來源:嵌入式系統 ? 作者:嵌入式系統 ? 2023-12-07 14:42 ? 次閱讀

◎ 不用或者少用全局變量
說明:單個文件內部可以使用static的全局變量,可以將其理解為類的私有成員變量。全局變量應該是模塊的私有數據,不能作用對外的接口使用,使用static類型定義,可以有效防止外部文件的非正常訪問。直接使用其他模塊的私有數據,將使模塊間的關系逐漸走向“剪不斷理還亂”的耦合狀態,這種情形是不允許的。
◎ 避免局部變量與全局變量同名。
說明:盡管局部變量和全局變量的作用域不同而不會發生語法錯誤,但容易使人誤解。
◎ 嚴禁使用未經初始化的變量。
◎ 明確全局變量的初始化順序,避免跨模塊的初始化依賴。
說明:系統啟動階段,使用全局變量前,要考慮到該全局變量在什么時候初始化,兩者之間的時序關系,誰先誰后,一定要分析清楚,不然后果往往是低級而又災難性的。
◎ 數據必須對外開放時,應封裝接口函數來讀寫,同時注意全局數據的訪問互斥。
說明:避免直接暴露內部數據給外部模型使用,是防止模塊間耦合最簡單有效的方法。
◎ 一個變量只有一個功能,不能把一個變量用作多種用途。
說明:一個變量只用來表示一個特定功能,不能把一個變量作多種用途,即同一變量取值不同時,其代表的意義也不同。
◎ 數據結構功能單一,不要設計面面俱到的數據結構。
說明:相關的一組信息才是構成一個結構體的基礎,結構的定義應該可以明確的描述一個對象,而不是一組相關性不強的數據的集合。設計結構時應力爭使結構代表一種現實事務的抽象,而不是同時代表多種。結構中的各元素應代表同一事務的不同側面,而不應把描述沒有關系或關系很弱的不同事務的元素放到同一結構體中。
◎ 盡量減少沒有必要的數據類型默認轉換與強制轉換。
說明:當進行數據類型強制轉換時,其數據的意義、轉換后的取值等都有可能發生變化,而這些細節若考慮不周,就很有可能留下隱患。
示例:如下賦值,多數編譯器不產生告警,但值的含義有變化。

char ch; 
unsigned short int exam;  
ch = -1;
exam = ch; // 編譯器不產生告警,此時exam為0xFFFF。

◎ 確認未使用的變量應當刪除。
◎ 對于變量自增++和自減--,禁止在宏定義中使用,禁止和其他語句復合,因拆分單獨執行。示例:if(++i>10) 錯誤寫法,必須改為i++;if(i>10)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307665
  • 編碼
    +關注

    關注

    6

    文章

    957

    瀏覽量

    54951
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49286
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28465
收藏 人收藏

    評論

    相關推薦

    嵌入式c語言編碼規范

    `學習嵌入式的同學應該首先掌握嵌入式編碼規范,這樣才能更好的嵌入式系統。下面就從這幾個方面講解一下嵌入式
    發表于 10-31 14:50

    嵌入式c語言編碼規范

    學習嵌入式的同學應該首先掌握嵌入式編碼規范,這樣才能更好的嵌入式系統。下面就從這幾個方面講解一下嵌入式
    發表于 11-07 15:17

    嵌入式Linux C代碼規范

    本文檔為作者 在嵌入式嵌入式 linux C語言的學習和工作中所總結的代碼規范 ,是作者從 STM32單片機開發向 Linux C開發的時
    發表于 01-14 10:25

    (精彩帖子合集)國外大牛帶你入門嵌入式C語言!

    語言學習文章,大家循序漸進,必定能夠學有所成! 嵌入式應用程序的C編程語言簡介了解C編程變量了解C
    發表于 09-09 16:09

    WIFI網卡如何在嵌入式Linux

    僅用于增加百度收錄權重,排版未優化,日常不維護。請訪問: 查看、評論。本博文對應地址: 嵌入式Linux——WIFI網卡/#more如何在嵌入式Linux,使用WIFI無線網卡。
    發表于 11-04 08:26

    嵌入式C的靜態變量是什么

    不是持續長久的,當程序使用完后,系統會自動刪除回收在嵌入式系統,為了追求項目的可靠性,因此會較常使用靜態變量。靜態變量的基本劃分靜態變量
    發表于 12-15 07:08

    嵌入式C開發變量類型的使用方法

    了所以嵌入式編程中經常會使用char定義變量,注意:char只能表示-128到127,unsigned char可以表示0到255。下面是嵌入式常用的typedef定義的數據類型typedef...
    發表于 12-15 06:35

    何在嵌入式設備上運行高性能Java

    何在嵌入式設備上運行高性能Java
    發表于 03-28 09:43 ?16次下載

    嵌入式DHCP Server如何在vxWorks

    嵌入式DHCP Server如何在vxWorks的軟件實現
    發表于 03-29 12:27 ?23次下載

    嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹

    嵌入式C實現延時程序的不同變量的區別 幾種Linux嵌入式開發環境的簡單介紹 ARM嵌入式開發基礎 對話微軟MVP:走進
    發表于 04-14 07:24 ?1695次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>實現延時程序的不同<b class='flag-5'>變量</b>的區別 幾種Linux<b class='flag-5'>嵌入式</b>開發環境的簡單介紹

    嵌入式系統的規范發展回顧

    后PC時代,嵌入式系統的發展風起云涌,波瀾壯闊。在這一歷史洪流,眾多的嵌入式系統規范爭奇斗艷,各種嵌入式板卡令人眼花繚亂。伴隨著極大量標準
    發表于 02-14 14:00 ?1701次閱讀

    嵌入式代碼之編寫規范

    嵌入式代碼編碼規范,用于規范自己的代碼,增強可讀性,非標準規范。最好能強制自己形成良好的編碼風格
    的頭像 發表于 04-26 15:21 ?5347次閱讀

    嵌入式軟件之c語言編碼規范

    嵌入式軟件之c語言編碼規范
    發表于 10-28 18:13 ?28次下載

    嵌入式Linux環境變量分區制作

    嵌入式Linux環境變量分區制作嵌入式環境變量分區準備一個存放環境變量的文本文件制作環境變量的工
    發表于 11-02 10:35 ?8次下載
    <b class='flag-5'>嵌入式</b>Linux環境<b class='flag-5'>變量</b>分區制作

    嵌入式C編程全局變量問題分享

    嵌入式特別是單片機os-less的程序,最易范的錯誤是全局變量滿天飛。這個現象在早期匯編轉型過來的程序員以及初學者中常見,這幫家伙幾乎把全局變量當作函數形參來用。
    發表于 07-17 16:53 ?771次閱讀
    高科技百家乐官网牌具| 辽源市| 大发888网上支付| 大发888下载大发888娱乐城| 大发888国际娱乐城lm0| 大发888代充| 零点棋牌下载| 新葡京线上娱乐| 六合彩公司| 京城娱乐城开户| 青海省| 百家乐官网的胜算法| 百家乐官网玩法与规则| 百家乐官网和抽水官网| 网络百家乐官网| 百家乐官网程序开户发| 风水24山代表什么| 百家乐楼梯缆| 伟博百家乐娱乐城| 大发888平台下载| 龙腾国际娱乐| 百家乐官网投注网中国| 百家乐官网桌布专业| 星期八百家乐官网的玩法技巧和规则 | 百家乐官网投注平台信誉排名| 百家乐官网技巧介绍| 百家乐投注法则| 百家乐的玩法技巧和规则 | 鸡泽县| BB百家乐官网大转轮| 葡京百家乐技巧| 闲和庄百家乐娱乐平台| 大发888官网 df888| 乐宝百家乐官网游戏| 百家乐官网园百利宫娱乐城信誉好...| 雅加达百家乐官网的玩法技巧和规则| 金榜百家乐现金网| 百家乐娱乐城体验金| 平博国际| 澳门百家乐官网真人版| 真钱百家乐哪里最好|