電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>C語(yǔ)言|源代碼>MISRA-C-2004_工業(yè)標(biāo)準(zhǔn)的C編程規(guī)范_中文版

MISRA-C-2004_工業(yè)標(biāo)準(zhǔn)的C編程規(guī)范_中文版

2017-11-22 | pdf | 458KB | 次下載 | 1積分

資料介紹

  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ì)適合它們!

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1490次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  92次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
  14. 0.63 MB  |  3次下載  |  免費(fèi)
  15. 89天練會(huì)電子電路識(shí)圖
  16. 5.91 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)