跳至內容

MISRAC

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

MISRA C是由汽車產業軟體可靠性協會(MISRA)提出的 C 語言開發標準。去目的是佇咧增進1875入式系統的安全性佮可能會徙栽性。針對 C + + 語言嘛有對應的標準 MISRA C + +。

MISRA C 一開始主要是針對汽車產業 , 猶毋過其他的產業嘛漸漸仔開始咧使用 MISRA C:包括航空、電信、國防、醫療的設備、鐵路遮領域內面攏有廠商使用 MISRA C。

MISRA C 的頭一版《Guidelines for the use of the C language in vehicle based software》佇一九九八年發行,一般號做 MISRA-C : 一千九百九十八 .。MISRA-C : 一千九百九十八有一百二十七項規則,規則對一號編號到一百二七號,其中有九十三項是強制要求,賰的三十四項是推薦使用的規則。

佇二空空四年的時發行矣第二版的 MISRA C 的頭一版《Guidelines for the use of the C language in critical systems》(抑是叫做 MISRA-C : 兩千空四), 其中有真濟重要建議事項的變更,其規則嘛重新編號。MISRA-C : 二千空四有一百四十一項規則,其中一百二十一項是強制要求,賰的二十項是推薦使用的規則。一定分做二十一類,對「開發環境」到「運行期錯誤」。

規則舉例

MISRA C 的一寡規則是針對運算符的限制,比如講 MISRA-C : 二千空四的規則十二孵一空為「莫使用弄號運算符」,嘛會當用其他的方式來達到仝款的效果。

動態分配記憶體功能是 C 語言的一大特色,會使佇運行期依實際需求用 malloc 分配記持體,佇無使用此記持體的時才用 free 歸還,毋過真濟問題嘛佮無正確處理動態分配記持體功能有關係,比如講 MISRA-C : 二千空四的規則二十五四為「袂當使用動態囥的內存分配」,限制 malloc、free 等程序的使用。

工具

有真濟工具的聲稱會當檢查代碼佮 MISRA 規則相容性,猶毋過 MISRA 無相關認證的程序。相關工具會使幫助使用者評估佮比較檢查的結果,嘛會提供一寡會當符合 MISRA-C 規定的指南。

大部份的規定會當用支援靜態代碼分析的工具檢查,有規定愛用支援動態代碼分析的工具檢查。

以下是一寡會當配合 MISRA C 規則進行檢查的工具:

  • Polyspace
  • GrammaTech
  • Klocwork
  • Coverity
  • LDRA
  • Parasoft
  • PC-Lint
  • QA-C
  • Understand ( 軟體 )

以下是一寡會當配合 MISRA C 規則進行檢查的編譯器:

  • Green Hills 軟體
  • IAR 系統

相關條目

  • 代碼的風格
  • The Power of 十

參考資料

外部連結

  • MISRA 網站