翻譯|行業(yè)資訊|編輯:莫成敏|2019-12-25 15:39:28.327|閱讀 410 次
概述:在PC-lint Plus最新版本中,改進(jìn)了關(guān)于MISRA C ++的內(nèi)容,現(xiàn)在就跟著小編來看看更新了哪些內(nèi)容吧~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PC-lint Plus是一種靜態(tài)分析工具,通過分析C和C ++源代碼來發(fā)現(xiàn)軟件中的缺陷。與編譯器一樣,PC-lint Plus會(huì)解析源代碼文件,執(zhí)行語(yǔ)義分析,并構(gòu)建一個(gè)抽象語(yǔ)法樹來表示程序。PC-lint Plus采用各種機(jī)制,包括數(shù)據(jù)流分析,數(shù)值跟蹤,讀寫分析,強(qiáng)類型檢查,功能語(yǔ)義驗(yàn)證和許多其他技術(shù),來提供對(duì)單個(gè)文件和整個(gè)項(xiàng)目強(qiáng)大而全面的分析。
在PC-lint Plus最新版本中,改進(jìn)了關(guān)于MISRA C ++的內(nèi)容,現(xiàn)在就跟著小編來看看更新了哪些內(nèi)容吧~
點(diǎn)擊下載PC-lint Plus免費(fèi)版
MISRA C ++的改進(jìn):
PCLP-2700 消息9114(MISRA C ++ 5-0-3)現(xiàn)在即使僅轉(zhuǎn)換基礎(chǔ)類型而未轉(zhuǎn)換實(shí)際類型,也報(bào)告違反規(guī)則
現(xiàn)在將發(fā)出消息9114,以進(jìn)一步違反此規(guī)則,在該規(guī)則中,C ++語(yǔ)言中沒有進(jìn)行任何轉(zhuǎn)換,但是MISRA基礎(chǔ)類型仍然發(fā)生了更改。例如,當(dāng)在sub-int操作數(shù)上使用二進(jìn)制算術(shù)運(yùn)算符時(shí),在執(zhí)行操作之前,這些操作數(shù)已被提升為int,并且如果將結(jié)果賦給int類型的對(duì)象,則結(jié)果將不會(huì)進(jìn)行任何進(jìn)一步的實(shí)際轉(zhuǎn)換。現(xiàn)在,這些情況將報(bào)告從sub-int操作數(shù)類型到目標(biāo)類型的概念性基礎(chǔ)類型轉(zhuǎn)換。請(qǐng)注意,其他類似規(guī)則(例如MISRA C ++ 5-0-4)已經(jīng)以這種方式運(yùn)行。
PCLP-2705 改進(jìn)了對(duì)MISRA C ++規(guī)則7-1-1的支持
除了消息952(參數(shù)可以是const)之外,消息953(局部變量可以是const)和843(靜態(tài)存儲(chǔ)持續(xù)時(shí)間變量可以是const)現(xiàn)在支持MISRA C ++規(guī)則7-1-1。
PCLP-2741 改進(jìn)了對(duì)MISRA C ++規(guī)則5-2-4的支持
新消息1946(使用功能樣式轉(zhuǎn)換將類型轉(zhuǎn)換為類型)改進(jìn)了對(duì)MISRA C ++規(guī)則5-2-4的支持。
PCLP-2774 糾正誤報(bào)1536消息
1536的處理未正確處理指針成員變量。例如,以下將為指示的行生成1536消息:
PCLP-2798 改進(jìn)了對(duì)規(guī)則5-0-3和5-0-6的復(fù)合賦值運(yùn)算符的支持
擴(kuò)展了對(duì)規(guī)則5-0-3和5-0-6的支持,以報(bào)告由復(fù)合分配操作員隱含的操作引起的違規(guī)行為。
PCLP-2832 改進(jìn)了對(duì)MISRA C ++規(guī)則3-9-3的支持
當(dāng)采用浮點(diǎn)型對(duì)象的地址時(shí),不再發(fā)出消息9110。現(xiàn)在,新消息2499和2498報(bào)告了使用具有memcmp語(yǔ)義的函數(shù)來分別比較指向浮點(diǎn)型對(duì)象的指針,或指向包含浮點(diǎn)型對(duì)象的結(jié)構(gòu)的指針。
PCLP-2877 支持?jǐn)?shù)字相關(guān)的字符算術(shù)例外
MISRA C ++ 2008規(guī)則4-5-3中與算術(shù)操作和代表數(shù)字的字符比較有關(guān)的例外現(xiàn)在應(yīng)用于消息9112和9128。
PCLP-2880 忽略消息9141(7-3-1)的所有外部“C”聲明
對(duì)于帶有外部“C”鏈接的任何聲明,將不再發(fā)出消息9141。以前,有問題的特定聲明必須明確標(biāo)記為extern“C”才能被豁免,但這對(duì)于friend聲明是不可能的,而對(duì)于以前聲明為extern“C”的函數(shù)的其他重新聲明則是不必要的。
PCLP-2881 新的解釋選項(xiàng)限制了用于基礎(chǔ)類型確定的常量表達(dá)式的定義
新的MISRA C ++ 2008解釋忽略了const變量的常量表達(dá)式基礎(chǔ)類型規(guī)則,將避免應(yīng)用規(guī)則,該規(guī)則將整數(shù)常量表達(dá)式的基礎(chǔ)類型確定為當(dāng)表達(dá)式涉及const或constexpr變量時(shí)能夠表示該常量的最小類型。默認(rèn)情況下,此解釋為關(guān)閉。
PCLP-1840 MISRA C ++ 2008規(guī)則5-2-8僅向一個(gè)方向強(qiáng)制轉(zhuǎn)換
規(guī)則5-2-8以前由選修的notes 923和925的支持,該選修筆記報(bào)告了該規(guī)則涵蓋的類型之間的類型轉(zhuǎn)換,而與方向無關(guān)。它們已由消息9079和新消息9010代替,它們僅報(bào)告沿禁止方向的投射。
PCLP-2908 改進(jìn)了對(duì)MISRA C ++規(guī)則7-1-2的支持
現(xiàn)在,消息1764(功能的引用參數(shù)可以引用const)補(bǔ)充了消息818(參數(shù)可以是指向const的指針)以支持MISRA C ++規(guī)則7-1-2。
PCLP-2939 改進(jìn)了對(duì)MISRA C ++ 2008規(guī)則4-10-2的支持
當(dāng)在另一個(gè)宏中擴(kuò)展NULL時(shí),使用NULL宏作為空指針常量的情況不再被報(bào)告為違反MISRA C ++規(guī)則4-10-2。
PCLP-2943 改進(jìn)了對(duì)MISRA C ++規(guī)則2-13-2的支持
現(xiàn)在已通過消息9001報(bào)告八進(jìn)制常量的使用,這違反了MISRA C ++規(guī)則2-13-2。
想要購(gòu)買PC-lint Plus正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: