为什么C语言难嵌入到硬件里

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:57:40
不管怎么说C语言也是经过开发的,应该也是要编译一次的语言吧,能在计算机上运行也是因为计算机有操作系统。。

但是现在听说的一些嵌入式开发,好象都是用C语言的。一般的硬件应该只是一些电子的东西。应该没有带系统的。为什么用C语言也能开发程序嵌入到里面去。

按理说应该只有机器码才能直接的对硬件进行操作吧。

通常所说的嵌入式系统用C开放的较多,嵌入式开发可以带操作系统(uc-os,linux,unix等)也可以不使用操作系统直接将C代码下载并烧写到内存(闪存)芯片内就可以了。硬件的确只能识别机器码,因为在嵌入式开发过程中,嵌入式微处理器就能将C代码转换成机器能识别的形式。普通程序员开发时,只需要用高级语言编写程序不需要了解高级语言是如何转换成机器码的。

楼主应该看一下编译器对C代码做了哪些工作

编译原理,编译原理。

C语言里允许直接访问物理地址,可以进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C语言即具有高级语言的功能,又具有低级语言的许多功能,有人把C语言称为“高级语言中的低级语言”或“中级语言”,意为兼有高级和低级语言的特点。