1-8 C语言——最基本的必需品
这些系统下多的几个共同点之一是都使用了 C 语言。和其他语言相比,C 已
经成为嵌人式程序员的语言了,情况当然不全总是这样,事情总会变的。不过,
起码现在C 是嵌入式世界里最接近标准的东西。这一节里,我会说明为什么C
会变得如此普遍,我又为什么选择C 和C++作为这本书的主要语言。
因为对于一个给定的项目来说,选择一种语言对成功的开发是如此的重要,
所以当一种语言被证明同时适合于8 位和64 位处理器,适用于字节、千字节甚
至兆字节的系统,适用于从一个人到很多人的开发团队。是很令人吃惊的。而C
语言做到了。
当然,C 是有很多优势的。它小而易学,今天每一种处理器都有C 的编译器,
同时有相当多的有经验的C 程序员。另外,C 是和处理器无关的,这就让程序
员可以着眼于算法和应用而不用考虑特定处理器结构的细节。可是,很多其他
的高级语言也具备这些优点,为什么只有C 语言取得了成功呢?
也许 C 语言最具威力的地方——也正是把它和其他语言比如Pascal 和
FORTRAN 区别开的地方——是,它是一个非常“低级”的高级语言。正如我
们将在整本书里看到的,C 给予嵌入式程序员很大程度的直接控制硬件的能力,
却不会失去高级语言带来的好处。“低级”的内在本质是这个语言的创建者的明
显目的。实际上。Kernighan 和 Ritchie 在他们的书《C Programming Language》
的开头有这么一段话:
C 是一种相对“低级”的语言。这个特征并没有什么不好的含义;它只是说
明C 语言可以处理大多数计算机可以处理的事情。这些事情通常和实际机器
实现的技学和逻辑运算结合在一起。
很少有其他高级语言可以像C 一样,为几乎所有处理器生成紧凑的、高效
的代码。同时,只有C 允许程序员方便地和底层硬件打交道。
经成为嵌人式程序员的语言了,情况当然不全总是这样,事情总会变的。不过,
起码现在C 是嵌入式世界里最接近标准的东西。这一节里,我会说明为什么C
会变得如此普遍,我又为什么选择C 和C++作为这本书的主要语言。
因为对于一个给定的项目来说,选择一种语言对成功的开发是如此的重要,
所以当一种语言被证明同时适合于8 位和64 位处理器,适用于字节、千字节甚
至兆字节的系统,适用于从一个人到很多人的开发团队。是很令人吃惊的。而C
语言做到了。
当然,C 是有很多优势的。它小而易学,今天每一种处理器都有C 的编译器,
同时有相当多的有经验的C 程序员。另外,C 是和处理器无关的,这就让程序
员可以着眼于算法和应用而不用考虑特定处理器结构的细节。可是,很多其他
的高级语言也具备这些优点,为什么只有C 语言取得了成功呢?
也许 C 语言最具威力的地方——也正是把它和其他语言比如Pascal 和
FORTRAN 区别开的地方——是,它是一个非常“低级”的高级语言。正如我
们将在整本书里看到的,C 给予嵌入式程序员很大程度的直接控制硬件的能力,
却不会失去高级语言带来的好处。“低级”的内在本质是这个语言的创建者的明
显目的。实际上。Kernighan 和 Ritchie 在他们的书《C Programming Language》
的开头有这么一段话:
C 是一种相对“低级”的语言。这个特征并没有什么不好的含义;它只是说
明C 语言可以处理大多数计算机可以处理的事情。这些事情通常和实际机器
实现的技学和逻辑运算结合在一起。
很少有其他高级语言可以像C 一样,为几乎所有处理器生成紧凑的、高效
的代码。同时,只有C 允许程序员方便地和底层硬件打交道。