翻譯|行業資訊|編輯:莫成敏|2019-12-18 16:04:08.663|閱讀 779 次
概述:在PC-lint Plus最新版本 v1.3中,更新了很多內容,今天小編給大家介紹一下MISRA C 2012改進的內容~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
PC-lint Plus是一種靜態分析工具,通過分析C和C ++源代碼來發現軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執行語義分析,并構建一個抽象語法樹來表示程序。PC-lint Plus采用各種機制,包括數據流分析,數值跟蹤,讀寫分析,強類型檢查,功能語義驗證和許多其他技術,來提供對單個文件和整個項目強大而全面的分析。
在PC-lint Plus最新版本 v1.3中,更新了很多內容,今天小編給大家介紹一下MISRA C 2012改進的內容~
MISRA C 2012改進:
PCLP-2060 支持MISRA C 2012 AMD-1規則21.18
在au-misra3-amd1.lnt文件中增加了對MISRA C 2012 AMD-1規則21.18的支持。
PCLP-2537 對于9046,將不同的無標簽結構的成員視為出現在單獨名稱空間中
將不再發出消息9046來報告不同無標簽結構的成員之間的歧義。
PCLP-2777 消息931從MISRA C 2012規則13.2中刪除
消息931不再用于支持MISRA C 2012規則13.2。消息564仍提供較少誤報的支持。
PCLP-2791 改進了對MISRA C 2012規則17.1、21.4、21.5和21.10的支持
au-misra3.lnt文件已更新為不支持使用va_list、jmp_buf、sig_atomic_t、clock_t、time_t和struct tm類型,使用這些類型之一時將導致發出消息586。
PCLP-2797 支持MISRA C 2012規則22.4和22.6
已通過新消息2477添加了對MISRA C 2012規則22.4的新支持(嘗試對未打開以供寫入的流執行寫操作),并已通過新消息2470改進了對MISRA C 2012規則22.6的支持(如已關閉)。
PCLP-2807 消息774已添加到MISRA C 2012規則2.2中
消息774現在用于支持MISRA C 2012規則2.2。
PCLP-2914 改進了對MISRA C 2012規則11.1的支持
現在使用消息176(類型的操作數不能轉換為函數指針類型)和消息178(類型的功能指針不能轉換為類型指針)來檢測消息9074未報告的違反MISRA C 2012 Rule 11.1的情況。
PCLP-2915 改進了對MISRA C 2012規則22.1的支持
現在采用消息698(就地重新分配可能導致內存泄漏)來增強對MISRA C 2012規則22.1的支持。
PCLP-2918 改進了對MISRA C 2012規則14.4的支持
消息9036(條件的基本類型應為布爾型)以前僅在if語句的控制表達式不是布爾型時才發出。現在,將為迭代語句以及在消息中作為字符串參數包括的語句類型發出該消息(這是if、for、do或while之一)。
PCLP-2919 改進了對MISRA C 2012規則15.7的支持
現在,僅當鏈的結尾處的else正文不包含注釋或動作時,才發出消息9063(else中沒有注釋或動作)。以前,此消息是針對其他不包含評論或操作的消息發出的。該更改反映了MISRA最近對相應規則的澄清。消息的文本也已更改以反映新行為。
PCLP-2920 對于布爾基本類型分類,考慮超出布爾強類型本身的布爾強類型層次結構
以前,只有排他的布爾型強類型才能將單個typedef歸類為本質上是布爾型。現在可以將多個typedef視為實質上使用布爾類型表示的布爾類型,如640以前所支持的那樣。
PCLP-2926 改進了對False和True宏的布爾MISRA C 2012基本類型的處理
從本質上分別從一個名為false或true的宏擴展的值為0或1的整數常量現在固有地被認為具有布爾MISRA C 2012基本類型。這些以前用于部分支持類似行為的宏的非標準替代定義已從配置文件中刪除。
想要購買PC-lint Plus正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: