翻譯|使用教程|編輯:況魚杰|2020-11-18 15:26:06.717|閱讀 906 次
概述:本文將會介紹如何在靜態分析工具PC-lint Plus無需分析庫頭就進行MISRA檢查。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
PC-lint Plus是一種靜態分析工具,通過分析C和C ++源代碼來發現軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執行語義分析,并構建一個抽象語法樹來表示程序。PC-lint Plus采用各種機制,包括數據流分析,數值跟蹤,讀寫分析,強類型檢查,功能語義驗證和許多其他技術,來提供對單個文件和整個項目強大而全面的分析。
如果您查看MISRA作者文件:
au-misra1.lnt
au-misra2.lnt
au-misra3.lnt
au-misra-cpp.lnt
您會發現它們顯式啟用了庫頭的消息輸出。 例如,在au-misra3.lnt中,您將看到規則4.9的以下條目:
/**** Dir 4.9 (Adv) ************/ +e9026 /* function-like macro defined */ +elib(9026) -append(9026,[MISRA 2012 Directive 4.9, advisory])
此處,相關選項為+ elib(9026):它針對出現在庫頭中的函數式宏定義請求消息9026的輸出。
之所以要進行明確設置,是因為汽車行業軟件可靠性協會(MISRA)標準通常假定開發人員可以控制目標系統(在汽車行業中很常見)的標準庫實現和系統庫實現的內容,并且 因此,需要開發人員在必要時分析和更正其庫的內容。
如果您的安排有所不同(例如,如果您不打算編譯自己的標準和系統庫版本),則可以顯式禁用庫代碼的消息輸出。 一種方法是使用-wlib()選項切換警告級別,從而“擦除”庫區域的消息抑制狀態。 這必須在引用MISRA作者文件之后完成。 例:
au-misra3.lnt // enables Elective Notes for library code -wlib(4) // raises the warning level -wlib(1) // lowers the warning level (and disables messages)
還請注意控制Lint是否將標頭視為“庫”標頭的選項; 請參見Lint手冊中的第6章(“庫”)。
本文內容就是這樣了,希望對您有所幫助!您可以繼續關注我們慧都網,了解更多產品資訊~也可以下載PC-lint Plus試用版免費評估~
相關內容推薦:
想要購買PC-lint Plus正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:Gimpel Software