MISRA C/C++為何對(duì)任何C/C++開發(fā)人員都很有用
MISRA C 和 MISRA C++ 是軟件開發(fā)指南,旨在促進(jìn)安全可靠的應(yīng)用程序的開發(fā)。MISRA C 由 MISRA 聯(lián)盟于 1997 年發(fā)起,主要針對(duì)汽車應(yīng)用。
本文引用地址:http://m.ptau.cn/article/202503/468199.htm這是研究 MISRA C/C++ 的三部分視頻和文章系列中的第一部分。我與 LDRA/TASKING 的技術(shù)專家 Andrew Banks 討論了 MISRA C/C++(觀看上面的視頻)。
C 和 C++ 是編程語言,旨在為開發(fā)人員提供對(duì)硬件的自由訪問。他們還要求程序員不要犯錯(cuò)誤,因?yàn)閼?yīng)用程序往往可以訪問底層系統(tǒng)。兩者都具有可能被意外誤用的功能,并且語言實(shí)現(xiàn)的某些區(qū)域可以進(jìn)行解釋。
用于編寫更好的軟件的 MISRA C/C++
MISRA C/C++ 標(biāo)準(zhǔn)最初是為安全關(guān)鍵型汽車軟件開發(fā)的,現(xiàn)已擴(kuò)展到電子行業(yè)的其他領(lǐng)域。MISRA C/C++ 限制了編程語言的功能,以確保一致的使用和作,并確保程序員避免容易出錯(cuò)的功能。這些準(zhǔn)則是一組規(guī)則,其中大多數(shù)規(guī)則都可以使用靜態(tài)分析來實(shí)現(xiàn)。
MISRA C/C++ 是如何工作的?
MISRA C/C++ 通常作為靜態(tài)分析工具的一部分實(shí)現(xiàn),該工具旨在在編譯時(shí)而不是運(yùn)行時(shí)捕獲編程錯(cuò)誤。程序員通??梢赃x擇要應(yīng)用的規(guī)則,不符合要求的代碼將被標(biāo)記為錯(cuò)誤。
大多數(shù)靜態(tài)分析工具在編譯之前運(yùn)行,盡管有些工具是作為編譯器的一部分實(shí)現(xiàn)的。大多數(shù) C/C++ 編譯器都有標(biāo)志,可以設(shè)置這些標(biāo)志來檢查與某些 MISRA 規(guī)則相同的問題,但不是全部。
MISRA C/C++ 在哪里使用?
雖然 MISRA C 最初針對(duì)汽車應(yīng)用,但它已被許多其他行業(yè)采用,從運(yùn)輸?shù)结t(yī)療。MISRA C/C++ 支持對(duì)任何 C/C++ 開發(fā)人員都很有用,因?yàn)樗兄跍p少代碼中的錯(cuò)誤數(shù)量。
AnalysisTools 網(wǎng)站列出了用于 C/C++ 以及其他編程語言的靜態(tài)分析工具。大多數(shù)用于 MISRA C/C++ 的產(chǎn)品是商業(yè)產(chǎn)品。許多開源工具能夠?yàn)榇蠖鄶?shù) MISRA C/C++ 規(guī)則提供支持,但并非全部都提供支持。它們還提供可能有用的其他分析。
評(píng)論