翻譯|使用教程|編輯:李顯亮|2021-04-26 11:02:11.087|閱讀 282 次
概述:本文針對C和C ++的首選靜態分析工具 PC-lint Plus 最新問題,進行了羅列和解答。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
PC-lint Plus是一種靜態分析工具,通過分析C和C ++源代碼來發現軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執行語義分析,并構建一個抽象語法樹來表示程序。PC-lint Plus采用各種機制,包括數據流分析,數值跟蹤,讀寫分析,強類型檢查,功能語義驗證和許多其他技術,來提供對單個文件和整個項目強大而全面的分析。
Q1:如何在不分析庫頭的情況下進行MISRA檢查?
A:如果你在MISRA的作者文件中尋找:
你會發現他們明確地啟用了庫頭的消息輸出。例如,在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是否將一個頭文件視為 "庫 "頭文件的選項。
Q2:如何更新PC-lint Plus或確定最新的可用版本?
新版本會在新聞頁面上公布,并通過電子郵件分發給注冊客戶。如果你使用的是舊版本,并且沒有收到更新郵件,請聯系sales@gimpel.com并提供您的序列號。
未完待續~
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn