翻譯|行業(yè)資訊|編輯:莫成敏|2020-01-08 15:12:33.523|閱讀 545 次
概述:在PC-lint Plus最新版本中,PC-lint Plus產(chǎn)品更新了很多新功能,跟著小編來了解一下吧~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PC-lint Plus是一種靜態(tài)分析工具,通過分析C和C ++源代碼來發(fā)現(xiàn)軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執(zhí)行語義分析,并構(gòu)建一個抽象語法樹來表示程序。PC-lint Plus采用各種機(jī)制,包括數(shù)據(jù)流分析,數(shù)值跟蹤,讀寫分析,強(qiáng)類型檢查,功能語義驗(yàn)證和許多其他技術(shù),來提供對單個文件和整個項(xiàng)目強(qiáng)大而全面的分析。
在PC-lint Plus最新版本中,PC-lint Plus產(chǎn)品更新了很多新功能,跟著小編來了解一下吧~(更新內(nèi)容較多,新功能分為上下兩篇)
默認(rèn)情況下,新標(biāo)志ffi為OFF。啟用后,顯示較大整數(shù)值和范圍的Value Tracking消息將相對于附近的有符號或無符號整數(shù)類型限制進(jìn)行格式化。例如,5 +(uint32_t)-1將顯示為(UINT32_MAX + 5),而2147480000將顯示為(INT32_MAX-3647)。
可以將正值與有符號或無符號類型限制進(jìn)行比較,而與值表達(dá)式類型的有符號性無關(guān)。負(fù)值將僅相對于有符號整數(shù)類型最小值顯示。值可以完全匹配限制,也可以在任一方向上偏移。偏移量受限制的平方根大小限制(例如,將32位限制限制為16位偏移量)。不符合相對格式標(biāo)準(zhǔn)的整數(shù)仍將按字面意義打印。范圍的每一側(cè)都被獨(dú)立考慮。根據(jù)值,可以相對格式顯示一個、兩個或兩個都不顯示。
新的au-certc.lnt作者文件(在PC-lint Plus發(fā)行版的lnt /目錄中)支持CERT C。
現(xiàn)在,“值跟蹤”將跟蹤從地址運(yùn)算符的應(yīng)用派生到非靜態(tài)成員的合格名稱所得出的指針成員類型的對象的值,并評估指針成員運(yùn)算符*和-> *。
默認(rèn)情況下,新標(biāo)志fcv為OFF。啟用該選項(xiàng)后,如果對參數(shù)的唯一引用是強(qiáng)制轉(zhuǎn)換為void,則PC-lint Plus不會報告該參數(shù)可以設(shè)為const(或指向const的指針等)。
imposter實(shí)用程序現(xiàn)在支持新選項(xiàng),以處理涉及相對路徑到絕對路徑的編譯器參數(shù)轉(zhuǎn)換。
PC-lint Plus現(xiàn)在支持某些嵌入式編譯器使用的特殊0.NaN和0.Infinity浮點(diǎn)常量。
當(dāng)使用似乎包含副作用但未擴(kuò)展相應(yīng)參數(shù)的參數(shù)調(diào)用類似函數(shù)的宏時,會發(fā)出新的警告2666,例如:
#define DEBUG_VAL(x) int process(int i) { DEBUG_VAL(++i); // 2666 - increment doesn’t occur /* ... */ return i; }
現(xiàn)在,當(dāng)預(yù)處理指令出現(xiàn)在函數(shù)調(diào)用中時,將發(fā)布新的選修注釋9501,例如:
void init_buffer(void *buffer) { memset(buffer, 0, #ifdef LARGE_BUFFER 1024 #else 128 #endif );
現(xiàn)在,當(dāng)宏定義中出現(xiàn)不帶括號的一元運(yùn)算符時,將發(fā)出選修注釋973,例如:
#define N -1
消息823將報告以分號結(jié)尾的宏定義,例如
#define SQUARE(x) ((x)*(x));
將報告:
info 823: definition of macro ’SQUARE’ ends in semi-colon #define SQUARE(x) ((x)*(x)); ^
過時的“struct hack”技術(shù)用于聲明可變長度的結(jié)構(gòu)或聯(lián)合成員。該技術(shù)已被C標(biāo)準(zhǔn)中的“靈活的數(shù)組成員”所取代。當(dāng)檢測到這種“struct hack”時,新消息9040將報告。
當(dāng)do-while(0)循環(huán)中未包含多語句宏時,新消息9502將報告。
添加了新消息3419(類型為type的靜態(tài)數(shù)據(jù)成員符號的類初始化器是GNU擴(kuò)展),以警告為C++03模式中的浮點(diǎn)類型的靜態(tài)數(shù)據(jù)成員提供類初始化器的不可移植的行為。
此版本的PC-lint Plus使用發(fā)行版的lnt /目錄中包含的au-barr.lnt文件,支持Barr Group的“嵌入式C編碼標(biāo)準(zhǔn)” BARR-C:2018。 BARR-C:2018是PC-lint 9支持的Netrino編碼標(biāo)準(zhǔn)的更新版本。與Netrino提供的PC-lint 9相比,PC-lint Plus為該版本提供了更大的支持。
新功能語義:
-async_signal_safe:可在信號處理程序中安全調(diào)用,抑制了2670和2761-async_signal_unsafe:在信號處理程序中調(diào)用不安全,觸發(fā)2670
-signal_handler:將函數(shù)標(biāo)記為信號處理程序
-exception_signal_handler:除了signal_handler之外,還觸發(fā)2671和2764
-signal_register(n):參數(shù)n將使用前面參數(shù)的信號編號注冊為信號處理程序,以確定是否為異常信號注冊了信號處理程序新消息:
-2670:當(dāng)具有signal_handler語義的函數(shù)調(diào)用具有async_signal_unsafe語義的函數(shù)時發(fā)出
-2761:當(dāng)具有signal_handler語義的函數(shù)調(diào)用不具有async_signal_safe語義的函數(shù)時發(fā)出
-2762:當(dāng)具有signal_handler語義的函數(shù)調(diào)用具有信號函數(shù)的特殊語義的函數(shù)時發(fā)出
-2763:當(dāng)具有signal_handler語義的函數(shù)調(diào)用具有信號函數(shù)的特殊語義的函數(shù)來注冊自身時發(fā)出
-2671:當(dāng)具有exception_signal_handler語義的函數(shù)包含return語句時發(fā)出
-2764:當(dāng)具有exception_signal_handler語義的函數(shù)似乎沒有顯式結(jié)束程序時發(fā)出
-2765:當(dāng)具有signal_handler語義的函數(shù)引用的共享變量不是_Atomic,std :: atomic或volatile sig_atomic_t時,發(fā)出當(dāng)調(diào)用rand / random但從未調(diào)用srand / srandom時,將發(fā)出新消息2461。當(dāng)調(diào)用srand/srandom并給出時間結(jié)果時,將發(fā)出新的消息2760。一個新的論點(diǎn)語義,名義上,已被添加。如果具有名義語義的參數(shù)的自變量是文字(整數(shù)、浮點(diǎn)、字符或字符串),則將發(fā)出新消息2460。如果具有名義語義的參數(shù)的參數(shù)是整數(shù)常量表達(dá)式,則將發(fā)出新消息2960。
在此版本中,PC-lint Plus新功能更新得比較多,小編把這些內(nèi)容分為上下兩篇,想要了解后半部分內(nèi)容請繼續(xù)關(guān)注我們網(wǎng)站~您也可以下載PC-lint Plus最新版免費(fèi)評估~
相關(guān)內(nèi)容推薦:
C和C ++的靜態(tài)分析工具PC-lint Plus v1.3更新內(nèi)容:新消息摘要
C和C ++的靜態(tài)分析工具PC-lint Plus v1.3更新內(nèi)容:修復(fù)錯誤(上)
C和C ++的靜態(tài)分析工具PC-lint Plus v1.3更新內(nèi)容:修復(fù)錯誤(下)
C和C ++的靜態(tài)分析工具PC-lint Plus v1.3更新內(nèi)容:文檔改進(jìn)
想要購買PC-lint Plus正版授權(quán),或了解更多產(chǎn)品信息請點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: