資料介紹
1 背景 —— C 的使用和問(wèn)題 1.1 汽車工業(yè)中 C 的使用 MISRA-C:1998 [1] 發(fā)布于 1998 年。本文檔是它的修訂版本,用來(lái)解決與第一版本有關(guān)系的問(wèn)題。在汽車工業(yè)領(lǐng)域的實(shí)時(shí)嵌入式應(yīng)用中,C 編程語(yǔ)言的使用越來(lái)越體現(xiàn)出廣泛性和重要性。這在相當(dāng)程度上取決于該語(yǔ)言固有的靈活性、可支持的范圍及其潛在的訪問(wèn)廣泛硬件環(huán)境的可移植性。詳細(xì)的理由包括: z 對(duì)于許多使用中的微處理器來(lái)說(shuō),如果存在其他除了匯編語(yǔ)言之外的可用語(yǔ)言,通常就是 C。在許多情況下,其他語(yǔ)言根本就不可用于硬件。 z C 對(duì)高速、底層、輸入/輸出操作等提供了很好的支持,而這些特性是許多汽車嵌入式系統(tǒng)的基本特性。 z 由于應(yīng)用的逐步增長(zhǎng)的復(fù)雜性,高級(jí)語(yǔ)言的使用較匯編語(yǔ)言更為適合。 z 相對(duì)于其他一些高級(jí)語(yǔ)言,C 能夠產(chǎn)生較小的和較少 RAM 密集性(RAM-intensive)的代碼。 z 增長(zhǎng)的可移植性需求。市場(chǎng)競(jìng)爭(zhēng)要求在工程項(xiàng)目生命周期的任何階段,軟件可以通過(guò)移植到新的和/或低成本的處理器,目的是為了降低硬件成本。 z 增長(zhǎng)的自動(dòng)產(chǎn)生 C 代碼的使用要求。C 代碼需要從模型包中自動(dòng)產(chǎn)生。 z 增長(zhǎng)的對(duì)開放系統(tǒng)和主機(jī)環(huán)境(hosted enviroments)的興趣。 1.2 語(yǔ)言的不安全性和 C 語(yǔ)言沒有哪種編程語(yǔ)言能夠保證最終的可執(zhí)行代碼會(huì)準(zhǔn)確地按照程序員預(yù)想的那樣執(zhí)行。任何語(yǔ)言都會(huì)產(chǎn)生大量的問(wèn)題,下面為其做了廣泛的分類,并描述了 C 語(yǔ)言不安全性的例子。 1.2.1 程序員產(chǎn)生錯(cuò)誤程序員產(chǎn)生的錯(cuò)誤,簡(jiǎn)單的可以是變量名字的書寫錯(cuò)誤,或者更為復(fù)雜的錯(cuò)誤,如對(duì)算法的誤解。編程語(yǔ)言可以承受這樣的錯(cuò)誤。首先,語(yǔ)言的風(fēng)格和表達(dá)能幫助或提示程序員清晰考慮其算法。其次,對(duì)于書寫錯(cuò)誤,語(yǔ)言可以使從一個(gè)有效結(jié)構(gòu)向另一個(gè)有效(不是預(yù)想的)結(jié)構(gòu)的轉(zhuǎn)換變得輕松或困難。第三,當(dāng)錯(cuò)誤發(fā)生時(shí),語(yǔ)言可以檢測(cè)到也可能檢測(cè)不到。首先,關(guān)于語(yǔ)言的風(fēng)格和表達(dá),使用 C 可以編寫出良好布局的、結(jié)構(gòu)化的和表達(dá)性強(qiáng)的代碼。還可以使用它編寫出不正當(dāng)?shù)暮吞貏e難以理解的代碼。很明顯,后者對(duì)于安全相關(guān)的系統(tǒng)是不可接受的。其次,C 的語(yǔ)法特性足以使得書寫錯(cuò)誤也能產(chǎn)生完全有效的代碼。例如,在“==”(邏輯比較)的地方寫成“=”(賦值)是很常見的,而且最終結(jié)果也幾乎總是有效的(但它是錯(cuò)誤的);而 if 語(yǔ)句的結(jié)尾出現(xiàn)的多余分號(hào)能完全改變代碼邏輯。第三,C 的基本觀點(diǎn)是假設(shè)程序員知道他們?cè)谧鍪裁?,這意味著錯(cuò)誤即使出現(xiàn)也不會(huì)被語(yǔ)言注意到而通過(guò)。在這方面 C 體現(xiàn)出的軟弱性正在于它的“書寫檢查”(type checking)。舉例來(lái)說(shuō),C 不會(huì)拒絕程序員在使用整數(shù)代表 true/false 值時(shí)卻在該整數(shù)中存儲(chǔ)了浮點(diǎn)值。大多數(shù)這樣的失配可以簡(jiǎn)單地通過(guò)強(qiáng)制使其合適。如果 C 的表現(xiàn)不得其所(a square peg and a round), 4 它不會(huì)挑剔而會(huì)適合它們!
- MISRA-C-:2004中文版 1次下載
- 在系統(tǒng)中使用C語(yǔ)言的指南 7次下載
- 華為C語(yǔ)言編程規(guī)范 61次下載
- 如何使用GCC實(shí)現(xiàn)支持MISRA-C的安全編譯器的資料概述 16次下載
- USB Type-C 規(guī)范1.2(中文版)通用串行總線Type-C線纜連接器標(biāo)準(zhǔn) 0次下載
- 軟件編程規(guī)范(MISRA-C) 26次下載
- I2C協(xié)議標(biāo)準(zhǔn)(中文版) 0次下載
- C程序設(shè)計(jì)語(yǔ)言(中文版) 0次下載
- GX Simulator6-C中文版仿真軟件 0次下載
- C專家編程中文版 0次下載
- 中文版AutoCAD2004應(yīng)用實(shí)例與技巧 0次下載
- AutoCAD2004中文版實(shí)用教程 0次下載
- 借鑒MISRA 規(guī)范減少C 語(yǔ)言程序隱患
- 借鑒MISRA 規(guī)范減少C語(yǔ)言程序隱患
- turbo c 2.0中文版 0次下載
- embOS的MISRA-C:2012一致性 243次閱讀
- PLC編程語(yǔ)言和C語(yǔ)言的區(qū)別 1469次閱讀
- 使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤 482次閱讀
- 汽車電子行業(yè)的MISRA C標(biāo)準(zhǔn)解讀 862次閱讀
- C++簡(jiǎn)史:C++是如何開始的 415次閱讀
- C語(yǔ)言為何用/* */ 注釋? 493次閱讀
- C語(yǔ)言代碼規(guī)范 837次閱讀
- C語(yǔ)言是怎么面向?qū)ο?b class="flag-6" style="color: red">編程 1484次閱讀
- C與C++混合編程是什么 1300次閱讀
- C++項(xiàng)目常見的命名規(guī)范 1969次閱讀
- 使用C語(yǔ)言進(jìn)行單片機(jī)編程的基本知識(shí)點(diǎn)和編程規(guī)范資料總結(jié) 4900次閱讀
- 嵌入式軟件開發(fā)編程規(guī)范及原則 6535次閱讀
- 標(biāo)準(zhǔn)C函數(shù)庫(kù)的用法 5036次閱讀
- plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解 7.2w次閱讀
- 一張圖總結(jié)Google C++編程規(guī)范 1424次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多