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