嵌入式C语言是由C语言标准委员会(英语:ISO/IEC JTC 1/SC 22)为解决C语言与不同嵌入式应用之间存在的共同问题而提出的一种C语言标准化扩展。
发展历史
在早期的嵌入式应用中,工程师需要对C语言进行扩展以使系统能够支持诸如定点数,多个不同的存储器以及I/O等功能,但对于不同系统的扩展并不能通用,非标准化地扩展将会降低软件的可移植性。因此在2008年,C语言标准委员会对C语言进行了标准化扩展,以解决上述问题[1]。扩展后的C语言在原标准C语言的基础上新增了定点运算,地址空间命名,I/O硬件寻址等嵌入式系统常用功能。嵌入式C语言依旧沿袭了大部分标准C语言的语法和语义,例如:main函数、变量定义、数据类型声明、条件判断(if, switch case)、循环语句(while, for, do while)、数组、字符串、宏定义、位操作、结构体和共同体等[2] 。
嵌入式C语言的标准化草案与修订案分别发布于2003年[3]和2006年[4]。
参考来源
- ^ ISO/IEC JTC 1/SC 22. Programming languages — C — Extensions to support embedded processors. ISO/IEC. [2019-08-01]. (原始内容存档于2016-06-17).
- ^ Skansholm, Jan. Vägen till C [The road to C]. Studentlitteratur. : 237–774. ISBN 91-44-01468-6 (瑞典语). Includes a good example of C-embedded programming, covering this article and far more. Like limits, what has to be done in machine language.
- ^ Information Technology — Programming languages, their environments and system software interfaces — Extensions for the programming language C to support embedded processors (PDF). www.open-std.org. ISO/IEC JTC1 SC22 WG14 N1021, reference number of document: ISO/IEC DTR 18037. 2003-09-24. (原始内容存档 (PDF)于2020-07-30).
- ^ Information Technology — Programming languages - C - Extensions to support embedded processors (PDF). www.open-std.org. ISO/IEC JTC1 SC22 WG14 N1169, reference number of document: ISO/IEC TR 18037. 2006-04-04. (原始内容存档 (PDF)于2021-02-25).
|
---|
| - 《C程序设计语言》(K&R C)
- 历史
- ANSI C
- C99
- C11
- C18
- C23
- 嵌入式C语言
- MISRA C
| | 特性 | |
---|
| 函式庫 | |
---|
| 編譯器 | |
---|
| C與其他的程式語言 | - C与C++
- Pascal与C的比较(英语:Comparison of Pascal and C)
- C to Java byte-code compiler
|
---|
| 派生的程式語言 | |
---|
| - C/C++的整合開發環境
分类 |
|
|
---|
| 一般术语 | |
---|
| 固件及掌控 | - 封闭平台
- 设计式缺陷
- 残废软件
- 厂商锁定(英语:Vendor lock-in)
- 第三方固件(英语:Custom firmware)
- 第三方路由器固件项目
- 自制 (视频游戏)(英语:Homebrew (video games))
- 消费电子产品破解(英语:Hacking of consumer electronics)
- Rooting (安卓)
- iOS越狱
|
---|
| 软件库 | |
---|
| 软件开发工具 | |
---|
| 嵌入式操作系统 | |
---|
| 编程语言 | |
---|
| - 轻量级浏览器比较(英语:Comparison of lightweight web browsers)
- 开源计算硬件(英语:Open-source computing hardware)
- 开源机器人(英语:Open-source robotics)
|
|