返回
成都市国信安教育培训
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理

嵌入式C语言与普通C语言有什么区别?

87 2022-07-20 08:53:19

学习笔记

C语言是目前世界上使用最广泛的系统编程语言,而嵌入式C语言是C语言的扩展,是在嵌入式系统中应用于编写嵌入式软件。嵌入式C语言与普通C语言没有特别大的区别,针对嵌入式开发的C语言就是嵌入式C语言,两个主要区别在于嵌入式程序员思考角度、使用习惯与普通C语言不一样。具体体现在启动过程、存储空间的分配、对于硬件的访问、资源的限制等方面。

1.启动过程

嵌入式C语言搭载微处理器,要求嵌入式系统的启动程序:要能对搭载微处理器的硬件平台和所需数据进行初始化操作。所以做嵌入式开发的程序员一定要制作特定的启动程序。

而PC机上普通C语言编译器会自动完成启动,自动初始化CPU和外设,调用main函数,程序员不用制作自己的启动程序。

2.存储空间

嵌入式C程序,因没有通用的操作系统,嵌入式系统必须先将代码设置到ROM中,将数据、堆栈设置到RAM中才可以运行。

而对于普通C程序,操作系统将程序和数据从外部存储设备载入RAM中运行。代码、数据、堆栈都在RAM中。

3.硬件资源

嵌入式C语言编程的话会涉及到操作硬件,所以底层没有库函数调用,需要自己编写操作硬件的函数,另外编译的时候是用交叉编译器,内存是芯片上的ram, 处理器就是芯片带的处理器,还有就是在写程序的时候更注重程序的优化和效率,因此在嵌入式C中编写程序时应该注意有限的资源。

而普通的C语言编程是在OS之上,有很多的标准库函数可以调用,分配的内存就是PC机的内存,处理器就是PC的CPU。对于普通C,操作系统对计算机硬件设备进行操作,应用程序可以通知操作系统执行某个具体的动作,以便使应用程序间接的通过操作系统对硬件进行操作。在C语言中,PC机可以访问系统操作系统,存储器等,可以利用所有计算机资源。

总之,嵌入式开发是一门实践性非常强的技术,不仅需要掌握C语言程序编写,还要熟悉硬件特性和缺陷,对编译原理、计算机技术等有深刻的理解。

以上就是关于嵌入式C语言与普通C语言有什么区别的介绍,如果对嵌入式感兴趣,可以关注国信安嵌入式课程,跟老师详细了解。



文中图片素材来源网络,如有侵权请联系删除
来源:成都市国信安教育培训中心
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图