序言
近年来,C语言类书籍的销售量扶摇直上,起因于在数码家电、手机、数字化汽车等产业中,嵌入式(Embedded)软件应用愈来愈广。而嵌入式软件开发所使用的语言中,C语言仍约占80%多。
由于嵌入式软件应用愈来愈广,软件质量决定了数码产品的稳定性和可靠度,因此,如何提升C程序的简洁性、易读性及重复使用性,乃是当今软件业的热门话题。例如,世界知名的麦肯锡(McKinsey)顾问公司,在2006年的报告(“Getting better software to manufactured products”)中,呼吁嵌入式软件业必须积极提升其系统分析及架构设计的技术能力,才能解决使用软件愈来愈多的数码产品的信赖度问题。
如何解决上述问题呢?其方向已经很清楚了,就是让C语言与面向对象程序设计(Object-Oriented Programming,简称OOP)技术相结合。就像当今的其它主流计算机语言(如VB.NET、C#、Java等)一样。由于当今的世界标准系统分析与架构设计的建模语言——UML,也是基于面向对象技术而发展出来的,因此,一旦C语言与面向对象技术相结合了,也就是与UML结合了,便能逐渐提升系统分析与设计的质量。因此笔者在出版《精通ANSI-C语言》一书之后,继续编写本书,期望陪伴众多C程序员能更上层楼,强化系统分析及架构设计的能力,以适应日益热络的嵌入式系统开发市场的需要。
也许你会问:在1986年时,贝尔(Bell)实验室已经将C语言与面向对象技术结合成为C++语言了,为何还需要OOPC呢?其答案是C++语言有些贪心,将整套的面向对象技术涵括进去,导致C++的效率远比单纯C语言慢了许多。由于嵌入式软件所能使用的硬件资源大都极为有限,对程序执行效率斤斤计较;所以在今天嵌入式软件开发上,使用最广的仍是C语言。
而本书所介绍的面向对象C语言并不是一种新的语言,它只运用单纯C语言的宏(Macro)技巧,实现了面向对象的基本技术,让系统分析与设计阶段的UML模型能与C程序紧密对应,以提升C程序的质量。此外,这些宏在编译阶段就被翻译为单纯C程序代码了,仍然保持其单纯C的高效率,符合嵌入式软件环境的需要。本书由浅入深分为4篇(共26章):
第1篇——复习ANSI-C语言。
第2篇——学习面向对象技术和OOPC。详细说明了ANSI-C如何与OOP技术相结合成为面向对象C语言(简称OOPC)。
第3篇——基于面向对象技术而进入UML世界。
第4篇——活用UML+OOPC。从实例演练中,运用UML+OOPC开发流程,做好系统分析和架构设计,实现高质量的嵌入式软件系统。
第5篇——面向对象Keil C51语言:在单片机(SOC)的应用。
愿本书能陪伴你驰聘于嵌入式领域中,并鸿图大展。
高焕堂
谨识于2008年元月