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