c语言编译为机器码,单片机C语言到机器码的全过程

本文介绍了C语言如何编译为机器码的过程,包括C语言通过编译器转化为汇编,再由汇编器转为机器码。虽然C语言开发便捷,但汇编语言有助于理解CPU结构。对于初学者,建议使用C语言快速上手,但深入学习汇编对于软硬件开发有长远益处。
摘要由CSDN通过智能技术生成

我们平时做单片机编程,最常使用的是C语言和汇编语言两种,但是最终下载到单片机内部的,却是HEX文件里的二进制机器代码,很多同学不懂这个过程是如何转换的。

我们的程序开发环境,比如KEIL和伟福等等,都是可以使用C或者汇编语言来编程的。对于C语言来讲,一旦我们编程完毕,就可以点击编译,编译的过程,实际上首先通过

“编译器”将C语言翻译成汇编语言,再通过“汇编器”将汇编语言转化成机器代码,最终可以下载到单片机中的是机器代码。

细心的同学能够看出,我写的“C到汇编”,是“翻译”,"汇编到机器代码",是“转化”。对于编译器来讲,将C转化成汇编的时候,不是一一对应的关系,也就是说几行C代码,可能翻译成几十行。而汇编语言和机器代码,从某种意义来讲,是一个东西,两者是一一对应的关系。因此,如果我们直接使用汇编语言写的程序,就可以直接跳过“编译器”,通过汇编器将我们写的汇编语言转化成机器代码。

我们早期的程序员,大多使用汇编代码。通常程序员自己写的汇编代码,比编译器转化的汇编代码效率要高,执行速度快,占用空间也小。随着高级语言的诞生,CPU速度的提升和程序存储空间的不断增大,我们开始使用高级语言C来编写程序代码。C语言开发的优势在于开发方便,移植容易,可维护性强,有类似的项目,直接移植过来,不需要重复开发了。

但是这并不意味着汇编代码被淘汰了,汇编语言的意义,更重要在于可以通过汇编语言,可以清楚的理解CPU内部的结构及其程序运行模式。熟练掌握汇编语言对于今后学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值