嵌入式开发为什么选择C语言?
从语言特点来说
C语言有出色的可移植性,能在多种不同体系结构的软/硬平台上运行。
简洁紧凑,使用灵活的语法机制,并能直接访问硬件能够直接访问硬件的语言有:汇编和C语言汇编属于低级语言,难以完成一些复杂的功能,但是汇编比C语言访问硬件的效率更高。所以,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。
C语言具有很高的运行效率。
高级语言中的低级语言:面向过程VS面向对象
面向过程
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。
可以说面向过程是一种基础的方法,它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
面向对象
面向对象的分析根据抽象关键的问题域来分解系统。面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。
面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。
面向过程和面向对象的区别
以一个人从A地到B地为例,面向过程就是需要规划路线,了解路况,自己做好一系列的准备;而面向对象就是坐上一辆出租车,告诉司机我要去B地就可以了,不用关心其他的事情。
最后,C语言也有他自身的缺陷,比如代码的复用性差,代码的维护性差,扩展性(新增代码时不改变原来的代码)很差。
声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
嵌入式开发为什么选择C语言?相关推荐
- 嵌入式底层开发为什么选择C语言
嵌入式底层开发为什么选择C语言 嵌入式系统的编写语言主要是C语言,部分底层代码会用到汇编语言. 嵌入式(C/C++):在软件(嵌入式应用开发)和硬件(嵌入式硬件开发)中嵌入操作系统(嵌入式底层开发). ...
- 嵌入式开发中C语言编程要点简述!
在嵌入式Linux的C语言开发中,C语言的基本编程依然是最重要的内容.除此之外,与一般的C语言编程相比,嵌入式Linux的C语言编程有以下一些要点: 1.库函数与系统调用 在进行C语言编程的时候,使用 ...
- 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...
- 【嵌入式开发】C语言 指针数组 多维数组
. 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21402047 . 1. 地址算数运算示例 指针算数运算 ...
- 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
. Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...
- c语言嵌入式开发键盘,C语言嵌入式系统编程修炼之键盘操作篇
功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下. 处理功能键 功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下.例如,主画 ...
- uml+oopc嵌入式c语言开发精讲_嵌入式开发中更接近底层的汇编与C语言
分享本文,介绍下更接近硬件底层的C语言与汇编,解释 CPU 如何执行代码. 高级语言与低级语言 学习编程其实就是学习与计算机交流的语言.因为计算机不理解人类语言,通过编译器把人类写的代码转成二进制代码 ...
- 嵌入式开发在过去20年中是如何演变的
嵌入式开发在过去20年中是如何演变的 How embedded development has evolved over the past two decades 与任何开发领域一样,嵌入式系统开发就 ...
- 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?
什么是嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很 ...
最新文章
- python提取数据库数据_Python读取xlsx并写入数据库
- 金蝶K3,如何添加其它出库单出库类型
- Windows Server 2003的功能级别
- JQuery学习笔记——JQuery基础
- SilverLight是什么?(来自Csdn)
- “深度学习已死,可微编程万岁!”LeCun老师为何又语出惊人?
- (转)Unity 导出XML配置文件,动态加载场景
- [转载] Python 内置函数 lambda、filter、map、reduce
- mysql innodb启动失败_关于mysql innodb启动失败无法重启的处理方法讲解
- Java反射机制总结(实例分析)(一)
- webstorm缩进两个字符
- 小米浏览器禁用java_2019-03-11 小米散招面试-Java后台实习
- 探究App推广之路:流量思维永不死 ☞ iphone中App store上架优化建议
- Fail to allocate bitmap
- python 识别图像中的文字(数字)之python图文识别
- SQL语言的分类及(DDL、DML、DQL)使用语法
- Effie 与文字讲缘分,与写作者交朋友
- 2012年度IT博客大赛10强诞生了
- 关于Spark默认并行度spark.default.parallelism的理解
- windows10安装RDKit化学信息学python库(通过anaconda)