嵌入式软件开发为什么选择C语言?
C语言这门编程语言,一直以来可能都被一些刚入门的小白小看了,其实这门语言一点都不一般!
在上月TIOBE 编程语言排行榜单上面 ,C语言排行第二 。
地址:
回到主题,为什么嵌入式软件开发选择C语言?
除了我们看到的C语言很火之外,其实C语言是有一些本质的原因。
C语言特点
C语言相对JAVA、C#这些语言嵌入式软件,是一种“轻量级”的编程语言。
1.C语言有出色的可移植性 ,能在多种不同体系结构的软/硬平台上运行。
2.简洁紧凑,使用灵活的语法机制 ,并能直接访问硬件。
能够直接访问硬件的语言有汇编和C语言,汇编属于低级语言,难以完成一些复杂的功能,但是汇编比C语言访问硬件的效率更高。所以,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。
3.C语言具有很高的运行效率。
C语言直接操作底层寄存器,相比 JAVA、C# 多层封装,使其具有高效的运行效率。
开发工具
开发工具在嵌入式软件开发中有重要的地位,大部分嵌入式软件开发工具都是针对C/C++编程语言。
你会发现很多嵌入式C相关的工具链,而很少有C#、JAVA、PHP这些用于嵌入式的工具链。
在单片机领域,集成开发环境更是多的数不过来, Keil 、 IAR 、 ...等很多。
面向过程VS面向对象
C语言是高级语言中的低级语言,具有高级编程语言的特性,也具有低级语言的优点。
所有嵌入式软件,你知道为啥C语言是一种“面向过程”的编程语言了吧?
1.面向过程
面向过程( )是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和与逻辑。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。
可以说面向过程是一种基础的方法,它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以 面向过程最重要的是模块化的思想方法 。
2.面向对象
面向对象的分析根据抽象关键的问题域来分解系统。面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。
面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。
3.面向过程和面向对象的区别
以一个人从A地到B地为例:
面向过程就是需要规划路线 ,了解路况,自己做好一系列的准备。
面向对象就是坐上一辆出租车 ,告诉司机我要去B地就可以了,不用关心其他的事情。
希望对你有帮助!
——————
另外,对于编程学习的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
我来说两句