在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

北匯信息POLELINK ? 2023-08-25 18:06 ? 次閱讀

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

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

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

1??MISRA C++ ?背景

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

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

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

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

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

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

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

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

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

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

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

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

wKgaomTofFmAeNoeAAFFnmIeNZ4932.png

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

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

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

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

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

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

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

但是,這也存在風(fēng)險,從為 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;

};

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

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

MISRA C++ 要嚴(yán)格得多,這是有原因的:與C相反,C++提供了函數(shù)重載,這取決于表達(dá)式的確切類型和自動占位符類型說明符,其中類型是從表達(dá)式派生的。如果不遵守規(guī)則,則可能是包含頭文件會導(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ī)性檢查以及許多其他有價值的分析功能方面處于領(lǐng)先地位。

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

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

    關(guān)注

    8

    文章

    5399

    瀏覽量

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

    關(guān)注

    5096

    文章

    19189

    瀏覽量

    308001
  • MISRA
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    7020
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    下一個FPGA項目選擇Pluto XZU20五大理由!

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

    C2000? MISRA-C策略

    電子發(fā)燒友網(wǎng)站提供《C2000? MISRA-C策略.pdf》資料免費(fèi)下載
    發(fā)表于 10-11 11:43 ?0次下載
    <b class='flag-5'>C</b>2000? <b class='flag-5'>MISRA-C</b>策略

    使用tSPI協(xié)議減少下一個多電機(jī)BLDC設(shè)計的布線

    電子發(fā)燒友網(wǎng)站提供《使用tSPI協(xié)議減少下一個多電機(jī)BLDC設(shè)計的布線.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 10:40 ?0次下載
    使用tSPI協(xié)議減少<b class='flag-5'>下一個</b>多電機(jī)BLDC設(shè)計的布線

    USB 3.2雙通道操作:需要了解的內(nèi)容

    電子發(fā)燒友網(wǎng)站提供《USB 3.2雙通道操作:需要了解的內(nèi)容.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 10:09 ?0次下載
    USB 3.2雙通道操作:<b class='flag-5'>您</b><b class='flag-5'>需要了解</b>的內(nèi)容

    embOS的MISRA-C:2012致性

    MISRA C是汽車工業(yè)軟件可靠性協(xié)會(MISRA)開發(fā)的套針對C編程語言的軟件開發(fā)指南,目的是提升嵌入式系統(tǒng)的安全性和可移植性。2012
    的頭像 發(fā)表于 08-20 11:35 ?592次閱讀

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

    1、程序簡介該程序是基于凌蒙派OpenHarmony-v3.2.1標(biāo)準(zhǔn)系統(tǒng)C++公共基礎(chǔ)類庫的簡單案例:HelloWorld。主要講解C++公共基礎(chǔ)類庫案例如何搭建和編譯。2、程序解析
    的頭像 發(fā)表于 08-13 08:23 ?588次閱讀
    OpenHarmony<b class='flag-5'>標(biāo)準(zhǔn)</b>系統(tǒng)<b class='flag-5'>C++</b>公共基礎(chǔ)類庫案例:HelloWorld

    whitepaper-perforce-what-is-misra

    如果熟悉嵌入式軟件的世界,您可能聽說過安全關(guān)鍵系統(tǒng)的MISRA編碼準(zhǔn)則和合規(guī)性。最初為在汽車嵌入式軟件行業(yè),MISRA C for C
    發(fā)表于 08-08 15:54 ?0次下載

    不只是前端,后端、產(chǎn)品和測試也需要了解的瀏覽器知識

    、我們?yōu)槭裁?b class='flag-5'>要了解瀏覽器? 1. 對于前端開發(fā)者 1.瀏覽器是用戶體驗的第線。我們需要了解瀏覽器的工作原理,才能有效地設(shè)計和實現(xiàn)用戶界面,確保良好的用戶體驗。 2.好的產(chǎn)品
    的頭像 發(fā)表于 07-01 18:03 ?524次閱讀
    不只是前端,后端、產(chǎn)品和測試也<b class='flag-5'>需要了解</b>的瀏覽器知識

    Perforce靜態(tài)代碼分析專家解讀MISRA C++2023?新標(biāo)準(zhǔn):如何安全、高效地使用基于范圍的for循環(huán),防范未定義行

    MISRA C++2023——MISRA? C++ 標(biāo)準(zhǔn)
    的頭像 發(fā)表于 06-18 12:57 ?500次閱讀

    MISRA-C-:2004中文版

    MISRA-C-:2004 中文版
    發(fā)表于 06-04 11:52 ?1次下載

    帶你走近MISRA C++:2023

    奉為汽車軟件工程師在開發(fā)實踐中的圭臬。MISRAC++的發(fā)展史MISRAC++的起源可以追溯到MISRAC標(biāo)準(zhǔn)的成功制定和廣泛應(yīng)用。MISRAC是套針對C語言的
    的頭像 發(fā)表于 04-30 08:24 ?1927次閱讀
    帶你走近<b class='flag-5'>MISRA</b> <b class='flag-5'>C++</b>:<b class='flag-5'>2023</b>

    代碼靜態(tài)測試工具 Helix QAC 2024.1版新功能解讀

    新的問題列表的CSV下載選項。 此版本還包括對于C/C++的CWE、C的HKMC和MISRA C++:2
    的頭像 發(fā)表于 04-25 12:32 ?680次閱讀
    代碼靜態(tài)測試工具 Helix QAC 2024.1版新功能解讀

    鴻蒙OS開發(fā)實例:【Native C++

    使用DevEco Studio創(chuàng)建Native C++應(yīng)用。應(yīng)用采用Native C++模板,實現(xiàn)使用NAPI調(diào)用C
    的頭像 發(fā)表于 04-14 11:43 ?2794次閱讀
    鴻蒙OS開發(fā)實例:【Native <b class='flag-5'>C++</b>】

    使用 MISRA C++2023? 避免基于范圍的 for 循環(huán)中的錯誤

    在前兩篇博客中,我們?向介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客中,我們將仔細(xì)研究以
    的頭像 發(fā)表于 03-28 13:53 ?873次閱讀
    使用 <b class='flag-5'>MISRA</b> <b class='flag-5'>C++</b>:<b class='flag-5'>2023</b>? 避免基于范圍的 for 循環(huán)中的錯誤
    主站蜘蛛池模板: 天天狠狠色噜噜 | 国产成人精品一区二区三区 | 九色视频在线看 | 国产精品影视 | 成人午夜毛片 | 成人网在线看 | 欧美高清另类 | 国产成人高清精品免费5388密 | 欧美性一级交视频 | 国产大乳孕妇喷奶水在线观看 | xxxx日本老师hd | 婷婷资源 | 5g国产精品影院天天5g天天爽 | 婷婷综合激情 | 猛操在线| 亚洲高清免费视频 | 俄罗斯美女在线观看一区 | 国产爱搞 | 欧美成人高清性色生活 | 狠狠色噜噜狠狠狠97影音先锋 | 国产夜夜操 | 国产精品欧美久久久久天天影视 | 久久久久久久国产视频 | 久操视频网 | 天堂网资源www | 欧美色啪 | 亚洲精品视频免费 | 国产片一区二区三区 | 日韩高清特级特黄毛片 | 亚洲影视自拍揄拍愉拍 | 理论片一区 | 2019天天操天天干天天透 | 在线免费观看视频你懂的 | 爽好舒服快小柔小说 | 国产超爽人人爽人人做 | 午夜影视免费观看 | 人人干97 | 天天干天天射天天插 | 亚洲午夜久久久精品影院视色 | 国产精品福利久久 | 国产免费福利网站 |