培训首页  >  嵌入式开发新闻  >  嵌入式C语言与普通C语言有什么区别?

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

[2022-07-19 14:13:57] 浏览量:87 来源:

成都市国信安教育培训中心

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语言有什么区别的介绍,如果对嵌入式感兴趣,可以关注国信安嵌入式课程,跟老师详细了解。



文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

厚学推荐学校

网上报名

热门信息

温馨提示