C++作为一门高级语言,人们在提及它时,总难免会谈到C语言。直至今天,很多人对于C++语言的认识依然是“C语言的超集”。这是因为C++的起源与C语言有着
千丝万缕的联系。下面由卓跃教育为您介绍。
1978年,美国贝尔实验室的DennisRitchie和BrianKernighan在BCPL以及其简化版本B语言的基础之上开发了C语言,并合作出版了《TheCProgrammingLan-guage》。C语言迅速得到了大家的认可,并广为流传。1989年,ANSI推出了第一个C语言的标准——X3.159-1989,并被ISO采纳,随之发布。ISO/IEC9899-1990。早在C语言标准发布之前,贝尔实验室的BjarneStroustrup就致力于在C语言里增加类、函数类型检查以及其他的一些优秀特征,于1980年发布“CwithClasses
”。经过持续的努力,他最终完成了对C语言的改造,由此创生出一门新语言——C++,并出版了《TheC++ProgrammingLanguage》一书。
这一方面是由于嵌入式软件开发工程师人员多年来应付有限资源的经验而养成的保守态度,另一方面也是由于长久以来,嵌入式系统应用设计中,人们要花费许多精力在底层硬件的驱动上,功能实现也主要局限在实时操作系统和相关支撑软件的层次,并不涉及过多的应用软件开发。这种在严苛条件下追求效率与实时性的任务,其他的高级语言并没有特别的优势。
最近几年,嵌入式系统领域又有了新的发展。首先,随着手机、PDA等消费性电子产品的飞速增长,嵌入式系统的市场规模在迅速扩大,同时越来越多的智能嵌入式应用场合需要互联网的支持,这要求嵌入式系统的软件具有更好的应用性和更高的复杂性;其次,随着芯片等相关领域的技术进步,嵌入式开发工程师们不再需要时时刻刻去考虑资源是否够用了。当面向对象的高级语言参与到嵌入式系统设计中去不再遥不可及时,语言的效率则成为突出的问题。
值得注意的是,尽管自1998年发布最初的C++标准——ISO/IEC14882:1998以来,每5年都会对此标准进行一次更新,但是由于C++语言过于复杂,以及它经历了长年的演变,直到2004年,没有任何一款编译器完全支持ISOC++。这对于时常要面对各种严苛条件的嵌入式系统应用工程师们来说,是难以忍受的。同时,即使是符合ISOC++标准的语句或者格式,对于实际的应用场合来说,也存在着重大隐患,而不应当被直接采用。因此,人们迫切需要一个正式的基于安全角度考虑的C++语言使用规范