chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

您需要了解的有關(guān)下一個(gè)MISRA?標(biāo)準(zhǔn)的信息:MISRA C++ 2023?簡(jiǎn)介

北匯信息POLELINK ? 2023-08-25 18:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MISRA C++:2023?是廣受期待的MISRA C++ ?標(biāo)準(zhǔn)的下一個(gè)版本,將于今年晚些時(shí)候發(fā)布。新版本將整合AUTOSAR C++14指南,并支持C++的最新版本。

MISRA?是由汽車行業(yè)軟件可靠性協(xié)會(huì)(MISRA)開(kāi)發(fā)的一套C和C++編碼標(biāo)準(zhǔn),不僅是汽車行業(yè)的最佳標(biāo)準(zhǔn)之一,也是任何使用嵌入式系統(tǒng)的行業(yè)的最佳標(biāo)準(zhǔn)之一。

為了幫助您為即將發(fā)布的版本做好準(zhǔn)備,我們推出了一個(gè)由我們的MISRA專家Frank van den Beuken博士撰寫的關(guān)于MISRA C++:2023概述的博客系列。

1??MISRA C++ ?背景

MISRA C++于2008年發(fā)布。它為ISO C++2003編寫的安全相關(guān)軟件的開(kāi)發(fā)提供了專家指導(dǎo)。這套指南已被廣泛采用,合規(guī)性已成為許多安全關(guān)鍵項(xiàng)目的強(qiáng)制性要求。然而,從那時(shí)起,C++語(yǔ)言發(fā)生了很大變化,新版本引入了新的語(yǔ)言功能并改變了現(xiàn)有的功能。

使用較新C++語(yǔ)言版本的項(xiàng)目可能不符合MISRA C++ 2008的所有規(guī)則。為了為這些后續(xù)版本提供指南,AUTOSAR為C++14開(kāi)發(fā)了新的指南,該指南基于MISRA C++:2008,但通過(guò)其他標(biāo)準(zhǔn)的規(guī)則進(jìn)行了增強(qiáng)。

MISRA C++工作組目前正在根據(jù)AUTOSAR指南對(duì)MISRA C++進(jìn)行更新,該適用于C++17,但包括MISRA在安全相關(guān)C++開(kāi)發(fā)方面的既定最佳實(shí)踐。預(yù)計(jì)更新后的標(biāo)準(zhǔn)將于今年晚些時(shí)候發(fā)布。

人們對(duì)新的MISRA C++指南非常感興趣。然而,由于MISRA C++:2008已被許多項(xiàng)目采用,此對(duì)改用新指南的影響存在一些擔(dān)憂。

2??MISRA C++:2023?博客系列預(yù)覽

在本博客系列中,我們將討論新標(biāo)準(zhǔn)的多個(gè)方面。

??C++和MISRA C++的歷史

我們將從C++編程語(yǔ)言的歷史概述開(kāi)始,從1979年貝爾實(shí)驗(yàn)室的Bjarne Stroustrup提出的C++編程語(yǔ)言概念,到1991年開(kāi)始標(biāo)準(zhǔn)化,再到目前的C++20版本。

值得注意的是,C++20中添加的一些主要功能在很久以前就已經(jīng)討論過(guò)了。模塊和概念就是這種情況,它們是為并發(fā)編程的標(biāo)準(zhǔn)化特性提供庫(kù)實(shí)現(xiàn)和協(xié)同程序的新穎特性。直到現(xiàn)在,并發(fā)支持才成為標(biāo)準(zhǔn)的一部分,盡管這些是與程序組織一起與C的效率相結(jié)合的Simula編程語(yǔ)言功能。

然而,必須指出的是,MISRA C++仍然基于C++17。主要原因是編譯器的實(shí)現(xiàn)程序需要時(shí)間來(lái)為所有語(yǔ)言功能提供支持,然后此類實(shí)現(xiàn)也需要經(jīng)過(guò)認(rèn)證才能用于安全關(guān)鍵項(xiàng)目。

隨著時(shí)間的推移,已經(jīng)編寫了許多不同的C++編碼標(biāo)準(zhǔn)。我們已經(jīng)提到了AUTOSAR指南,但也有許多其他流行的編碼標(biāo)準(zhǔn)在使用中。今年的《汽車軟件開(kāi)發(fā)狀況報(bào)告 》介紹了400名汽車開(kāi)發(fā)專業(yè)人士對(duì)汽車軟件行業(yè)當(dāng)前實(shí)踐和新興趨勢(shì)的回答。隨著電動(dòng)和半自動(dòng)駕駛汽車發(fā)展的持續(xù)增長(zhǎng),以及隨之而來(lái)的軟件組件的增加,研究結(jié)果繼續(xù)表明 ,信息安全與功能安全一樣重要,這是一個(gè)主要問(wèn)題。這反映在對(duì)遵守安全標(biāo)準(zhǔn)的要求日益增加。

報(bào)告還顯示,MISRA仍然是汽車行業(yè)最受歡迎的編碼標(biāo)準(zhǔn),42%的受訪者使用MISRA編碼標(biāo)準(zhǔn)。鑒于MISRA的悠久歷史及其汽車根源,這并不奇怪。AUTOSAR是一種在汽車軟件平臺(tái)背景下開(kāi)發(fā)的最新編碼標(biāo)準(zhǔn),其最終更新于2018年,以36%的得票率位居第三。C++核心指南標(biāo)準(zhǔn)出人意料地以39%的得票率位居第二,盡管該標(biāo)準(zhǔn)與汽車行業(yè)沒(méi)有明顯的關(guān)系。它如此受歡迎可能是因?yàn)樗w了開(kāi)發(fā)人員想要使用的最新C++語(yǔ)言功能。

wKgaomTofFmAeNoeAAFFnmIeNZ4932.png

??C++編碼標(biāo)準(zhǔn)的幾個(gè)方面

該標(biāo)準(zhǔn)由Bjarne Stroustrup和Herb Sutter推出,是一份不斷改進(jìn)的動(dòng)態(tài)文件。C++核心指南也被用作AUTOSAR的來(lái)源,因?yàn)樗w了最新的C++語(yǔ)言功能。AUTOSAR包括兩個(gè)標(biāo)準(zhǔn)之間的比較,表明30%的C++核心指南與AUTOSAR規(guī)則沖突。MISRA C++:2023繼承了AUTOSAR的許多規(guī)則,但沒(méi)有直接引用C++核心指南。

我們將專門寫一篇博客來(lái)比較這些C++編碼標(biāo)準(zhǔn)的各個(gè)方面,包括理念、指南、實(shí)施和聲明合規(guī)性。由于MISRA C++:2023似乎不太可能接受所有AUTOSAR規(guī)則,我們將評(píng)估與C++核心指南相沖突的規(guī)則部分是否仍然如此之大。

??MISRA C++:2023的新指南和新規(guī)則

最后,我們將在一些博客中專門介紹一些新穎的指南。

MISRA C++規(guī)則12.0.1 “應(yīng)適當(dāng)提供特殊成員功能”是一項(xiàng)新規(guī)則,為定義類類型的接口提供了指導(dǎo)。它提倡“零規(guī)則”, 它提倡“零規(guī)則”,這意味著它不喜歡指定特殊的成員函數(shù),因?yàn)檎Z(yǔ)言標(biāo)準(zhǔn)已經(jīng)保證編譯器已經(jīng)提供了預(yù)期的實(shí)現(xiàn)。

這與其他指南相矛盾,例如“五法則”(如果還單獨(dú)計(jì)算默認(rèn)構(gòu)造函數(shù),則為六),該指南指出需要始終顯式指定所有特殊成員函數(shù)。

但是,這也存在風(fēng)險(xiǎn),從為 AUTOSAR 規(guī)則A12-0-1提供的合規(guī)示例可以看出:

Plaintext

class A // Compliant - the class A follow the "Rule of six" rule

{

public:

A(); // Non-default constructor

~A() = default;

A(A const&) = default;

A& operator=(A const&) = default;

A(A&&) = delete;

A& operator=(A&&) = delete;

};

我們可以看到,只有移動(dòng)構(gòu)造函數(shù)被刪除,復(fù)制函數(shù)和析構(gòu)函數(shù)是默認(rèn)的。此代碼可能是開(kāi)發(fā)人員將遵循“三法則”的代碼擴(kuò)展為“五法則”的結(jié)果,但試圖通過(guò)刪除新的移動(dòng)構(gòu)造函數(shù)來(lái)保留舊的行為結(jié)果。MISRA C++不允許這種特殊成員函數(shù)的組合;如果一個(gè)類提供復(fù)制函數(shù),那么它也必須提供移動(dòng)構(gòu)造函數(shù)。該類的問(wèn)題在于它不能與容器一起使用,例如,當(dāng)試圖聲明該類型的向量時(shí),由于缺少移動(dòng)構(gòu)造函數(shù),將發(fā)生編譯錯(cuò)誤。

預(yù)計(jì)會(huì)產(chǎn)生重大影響的準(zhǔn)則是細(xì)則4.0.6,“數(shù)字類型之間的分配應(yīng)適當(dāng)”。此規(guī)則禁止許多隱式類型轉(zhuǎn)換。熟悉MISRA C:2012的開(kāi)發(fā)人員可能希望擁有與MISRA C基本類型定義的類似類型轉(zhuǎn)換規(guī)則,但事實(shí)并非如此。

MISRA C++ 要嚴(yán)格得多,這是有原因的:與C相反,C++提供了函數(shù)重載,這取決于表達(dá)式的確切類型和自動(dòng)占位符類型說(shuō)明符,其中類型是從表達(dá)式派生的。如果不遵守規(guī)則,則可能是包含頭文件會(huì)導(dǎo)致函數(shù)重載比之前匹配的函數(shù)匹配得更好,這可能是出乎意料的。有一種安全的方法可以避免隱式轉(zhuǎn)換,方法是使用具有整型基礎(chǔ)類型的類型安全枚舉類型。此類強(qiáng)類型的值不受隱式轉(zhuǎn)換的影響。

3??確保MISRA符合Helix QAC的要求

Perforce的Helix QAC是一種靜態(tài)分析工具,在提供MISRA C和MISRA C++合規(guī)性檢查以及許多其他有價(jià)值的分析功能方面處于領(lǐng)先地位。

Helix QAC提供合規(guī)模塊,用于執(zhí)行MISRA C和MISRA C++的所有版本和修訂,包括MISRA C:2023。Perforce計(jì)劃在正式發(fā)布日期臨近時(shí)提供完整的MISRA C++:2023合規(guī)模塊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 測(cè)試
    +關(guān)注

    關(guān)注

    8

    文章

    5899

    瀏覽量

    130262
  • 嵌入式
    +關(guān)注

    關(guān)注

    5175

    文章

    19978

    瀏覽量

    324435
  • MISRA
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    7341
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    科技云報(bào)到:西湖大學(xué)、智元機(jī)器人都選它,存儲(chǔ)成為AI下一個(gè)風(fēng)口

    科技云報(bào)到:西湖大學(xué)、智元機(jī)器人都選它,存儲(chǔ)成為AI下一個(gè)風(fēng)口
    的頭像 發(fā)表于 09-03 11:24 ?446次閱讀

    【原創(chuàng)】TDMS設(shè)置下一個(gè)寫入位置函數(shù)的摸索

    labview在20版本前,tdms都有高級(jí)函數(shù),寫入文件位置set file positon,但是在20版本后被取消了。取而代之是個(gè)‘tdms設(shè)置下一個(gè)寫入位置函數(shù)’ 本意是想利用tdms設(shè)置
    發(fā)表于 08-11 20:54

    AI玩具或成為下一個(gè)萬(wàn)億新賽道

    如果你將擁有個(gè)家庭新成員,你首先會(huì)想到什么?是孩子還是寵物?如果我說(shuō)你下一個(gè)家庭成員,或許是個(gè)會(huì)“察言觀色”的AI玩具,這件事是不是聽(tīng)上
    的頭像 發(fā)表于 07-29 10:15 ?744次閱讀

    主流的 MCU 開(kāi)發(fā)語(yǔ)言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語(yǔ)言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說(shuō)內(nèi)存這道坎兒。當(dāng)stm32f4的
    的頭像 發(fā)表于 05-21 10:33 ?672次閱讀
    主流的 MCU 開(kāi)發(fā)語(yǔ)言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    Helix QAC 2025.1 重磅發(fā)布!MISRA C:2025? 100%覆蓋

    Helix QAC 2025.1新增功能 Helix QAC 2025.1實(shí)現(xiàn)了對(duì)新版MISRA C:2025?標(biāo)準(zhǔn)的 100% 覆蓋,并提供對(duì)應(yīng)的合規(guī)模塊。此版本還擴(kuò)展了對(duì) CERT C
    的頭像 發(fā)表于 05-13 16:48 ?848次閱讀
    Helix QAC 2025.1 重磅發(fā)布!<b class='flag-5'>MISRA</b> <b class='flag-5'>C</b>:2025? 100%覆蓋

    MISRA C:2025新標(biāo)準(zhǔn)解析:新增規(guī)則、優(yōu)化點(diǎn)與靜態(tài)代碼分析工具支持(Perforce QAC、Klocwork)

    MISRA C:2025?發(fā)布!新增5條規(guī)則,并對(duì)部分現(xiàn)有規(guī)則進(jìn)行了擴(kuò)展、重組,以進(jìn)步簡(jiǎn)化安全關(guān)鍵型系統(tǒng)的開(kāi)發(fā)流程。如何實(shí)現(xiàn)最新MISRA合規(guī)性?
    的頭像 發(fā)表于 05-08 17:58 ?1531次閱讀
    <b class='flag-5'>MISRA</b> <b class='flag-5'>C</b>:2025新<b class='flag-5'>標(biāo)準(zhǔn)</b>解析:新增規(guī)則、優(yōu)化點(diǎn)與靜態(tài)代碼分析工具支持(Perforce QAC、Klocwork)

    基于LockAI視覺(jué)識(shí)別模塊:C++使用圖像的統(tǒng)計(jì)信息

    在圖像處理中,統(tǒng)計(jì)信息可以幫助我們了解圖像的特性,例如區(qū)域內(nèi)的像素分布、顏色轉(zhuǎn)換以及特定區(qū)域的分析。本文將介紹基于LockAI視覺(jué)識(shí)別模塊如何提取興趣區(qū)域(ROI)、轉(zhuǎn)換顏色通道、計(jì)算均值和標(biāo)準(zhǔn)差,以及查找最小值和最大值,并通過(guò)
    的頭像 發(fā)表于 05-08 10:09 ?444次閱讀
    基于LockAI視覺(jué)識(shí)別模塊:<b class='flag-5'>C++</b>使用圖像的統(tǒng)計(jì)<b class='flag-5'>信息</b>

    ad7616 burst模式讀取數(shù)據(jù)時(shí),是否可以在下一個(gè)convst啟動(dòng)轉(zhuǎn)換?

    ad7616 burst模式讀取數(shù)據(jù)時(shí),是否可以在下一個(gè)convst啟動(dòng)轉(zhuǎn)換,但busy還沒(méi)有拉低的情況下繼續(xù)讀取上次轉(zhuǎn)換的數(shù)據(jù)嗎?主要是串行讀取時(shí),有可能出現(xiàn)convst臨界的情況,如果這樣可以的話,能夠提升小部分con
    發(fā)表于 04-15 07:50

    C++學(xué)到什么程度可以找工作?

    C++學(xué)到什么程度可以找工作?要使用C++找到工作,特別是作為軟件開(kāi)發(fā)人員或相關(guān)職位,通常需要掌握以下幾個(gè)方面: 1. **語(yǔ)言基礎(chǔ)**:你需要對(duì)C
    發(fā)表于 03-13 10:19

    源代碼加密、源代碼防泄漏c/c++與git服務(wù)器開(kāi)發(fā)環(huán)境

    嵌入式開(kāi)發(fā)企業(yè)中使用的c/c++開(kāi)發(fā)語(yǔ)言,這類開(kāi)發(fā)環(huán)境主要做電子信息行業(yè)比較多,員工通過(guò)c語(yǔ)言開(kāi)發(fā)的程序,需要編譯后,燒錄到設(shè)備上去,開(kāi)發(fā)環(huán)
    的頭像 發(fā)表于 02-12 15:26 ?726次閱讀
    源代碼加密、源代碼防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>與git服務(wù)器開(kāi)發(fā)環(huán)境

    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫(kù)案例:ThreadPoll

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫(kù)的線程池處理:ThreadPoll。本案例完成如下工作:創(chuàng)建1個(gè)線程池,設(shè)置該線程池內(nèi)部有1024
    的頭像 發(fā)表于 02-10 18:09 ?512次閱讀
    基于OpenHarmony<b class='flag-5'>標(biāo)準(zhǔn)</b>系統(tǒng)的<b class='flag-5'>C++</b>公共基礎(chǔ)類庫(kù)案例:ThreadPoll

    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫(kù)案例:Semaphore

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫(kù)的線程處理:Sempahore。本案例完成如下工作:(1)無(wú)名信號(hào)量使用方法定義1個(gè)無(wú)名信號(hào)量,1
    的頭像 發(fā)表于 02-10 18:08 ?515次閱讀
    基于OpenHarmony<b class='flag-5'>標(biāo)準(zhǔn)</b>系統(tǒng)的<b class='flag-5'>C++</b>公共基礎(chǔ)類庫(kù)案例:Semaphore

    Spire.XLS for C++組件說(shuō)明

    Spire.XLS for C++款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序中。Spire.XLS for C+
    的頭像 發(fā)表于 01-14 09:40 ?1148次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說(shuō)明

    同樣是函數(shù),在CC++中有什么區(qū)別

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個(gè)返回值。 C語(yǔ)言的函數(shù)可以不寫返回值類型,編譯器會(huì)默認(rèn)為返回 int。 但是 C++
    的頭像 發(fā)表于 11-29 10:25 ?1147次閱讀

    下一個(gè)FPGA項(xiàng)目選擇Pluto XZU20五大理由!

    下一個(gè)FPGA項(xiàng)目從PlutoXZU20開(kāi)始1.屢獲殊榮PlutoXZU20憑借其卓越的設(shè)計(jì)和性能,在2024年北美嵌入式世界大會(huì)上被評(píng)為“最佳展品”。2.迷你外形PlutoXZU20外形超緊湊
    的頭像 發(fā)表于 11-19 01:01 ?673次閱讀
    給<b class='flag-5'>您</b><b class='flag-5'>下一個(gè)</b>FPGA項(xiàng)目選擇Pluto XZU20五大理由!