当前位置:首页 > 教育培训 >

单片机c语言从零基础学习(有专门的单片机c语言教程)

来源:原点资讯(www.yd166.com)时间:2023-05-30 20:14:06作者:YD166手机阅读>>

今天我们来讲讲一个c语言的源程序是怎么样最终编译成单片机所能执行的程序的

通过前面的学习我们也可以知道,c语言这种编程语言,是不被单片机所认识的,对于单片机,他们只能识别机器语言0和1。

所以在当我们写好一个c语言源程序之后,我们接下来非常重要的一步就是对程序进行编译链接,最终生成可以在单片机运行的程序。

总得来说一个.c源文件需要经过四步才能生成单片机所需要的二进制文件可执行文件:

第一步:预处理

预处理,顾名思义就是在编译之前,我们先对.c结尾的c源文件进行处理,这个过程主要是将以#号开头的指令进行处理,预处理命令都有如下这些:

单片机c语言从零基础学习,有专门的单片机c语言教程(1)

在这里我们举个例子:

比如在我们代码的开头 #include<stdio.h> 这句代码,是包含stdio.h这个头文件,在预处理阶段它将会被处理

前面我们说过写了#include<stdio.h>相当于是代替了stdio.h里的所有代码,是因为在预处理阶段,这句代码将会被stdio.h文件里的所有内容替代。

你可以理解为我们给stdio.h来了一个全选,然后复制,然后粘贴覆盖掉原先我们的那句#include<stdio.h>,就这么简单,这个是预处理会处理的过程。

当然我这里只是举例了#include会怎么处理,还有很多以#号开头的指令,后续我会专门出一个章节给大家说说都有哪些,又是怎么用的,关注我,让学习之路不枯燥不孤单[呲牙]

注意:这个预处理的过程.c文件预处理完之后,出来是.i文件,.i和.c文件一样,都是文本文件,你打开之后,能看的了里面内容。

第二步:编译

编译的过程是将.i结尾文件变成.s的汇编语言文件,汇编语言是更加贴近底层的语言。

注意:相比之下会比c语言的可读性差,在这个阶段,你一样可以通过记事本之类的,打开生成的.s汇编文件,因为.s文件依旧是文本文件。

第三步:汇编

汇编的过程,是将.s的汇编文件变为.o为后缀的二进制文件,为机器码

第四步:链接

链接过程是将库文件链接起来,生成可执行目标文件,在这个过程你可以理解为将多个.o文件整合在一块,成一个可执行的二进制文件

举个例子:比如我们的前面学过的最简单的程序,假设在hello.c中:

#include <stdio.h> void main() { //我的第一个C语言程序 printf("hello小钱嵌入式\n"); }

在这个代码里,printf的声明是在stdio.h,但是这个函数具体实现是在printf.o里面

链接的过程就是将其与我们hello.o的程序进行合并,最终得到hello文件,是一个可执行的目标文件,可以被加载到内存,由系统执行。

在这里hello文件是二进制文件了,如果我们通过记事本或者notepad等工具打开,将会看到一堆的乱码,因为它不是文本文件。

单片机c语言从零基础学习,有专门的单片机c语言教程(2)

总结:c语言源文件的编译过程:

  1. 预处理: .c —>.i
  2. 编译: .i —>.s
  3. 汇编:.s—>.o
  4. 链接:多个.o—>可执行二进制程序

觉得有帮助的可以点赞+收藏起来,后面慢慢看哦~[耶]


我是小钱嵌入式,会不断的和大家分享嵌入式相关的内容,如果你觉得我的分享对你有些帮助,请不要吝惜你的点赞和关注[祈祷],原创写作不易,兄弟姐妹们的点赞和关注[呲牙],就是我分享最大的动力,谢谢[祈祷],欢迎在评论区和我一起讨论[灵光一闪]

栏目热文

单片机c语言编程注意什么(51单片机c语言编程100例)

单片机c语言编程注意什么(51单片机c语言编程100例)

每个攻城狮的成长经历,目标总是相似的。刚开始学习这门技术的时候,希望自己能独立做出各种各样智能的产品。有了这能力,更有竞...

2023-05-30 20:26:19查看全文 >>

怎么样用c语言实现51单片机(51单片机c语言编程100例)

怎么样用c语言实现51单片机(51单片机c语言编程100例)

有了点亮第一个LED灯的实验作为基础,我们对使用仿真软件和编程软件有了一定了解,知道如何进行仿真,如何编写程序。那么接下...

2023-05-30 20:20:54查看全文 >>

十天学会单片机和c语言编程笔记(单片机c语言详细教程)

十天学会单片机和c语言编程笔记(单片机c语言详细教程)

《十天学会单片机和C语言编程》第一天Part1预备知识,...

2023-05-30 20:45:13查看全文 >>

单片机入门需要先学c语言吗(学单片机c语言应该先学什么)

单片机入门需要先学c语言吗(学单片机c语言应该先学什么)

大家好,我是无际。本人从事十年单片机开发,当初跨行自学入行,走过的弯路可以绕地球一圈。下面分享下这10年总结的经验,只说...

2023-05-30 20:35:21查看全文 >>

单片机c语言编程入门详解(单片机c语言零基础入门自学)

单片机c语言编程入门详解(单片机c语言零基础入门自学)

我当初是自学单片机的,也用同样的方法带出过月入15K以上的徒弟。我的方法不能说是最好的,但绝对是靠谱的,毕竟都是曾经自己...

2023-05-30 20:11:25查看全文 >>

51单片机怎么用c语言编程(51单片机编程代码大全)

51单片机怎么用c语言编程(51单片机编程代码大全)

单片机控制LED的闪烁是单片机入门必做的实验,下面我们看看源代码是什么样的。1、点亮第一个LED#include "re...

2023-05-30 20:48:12查看全文 >>

网络电视怎么找不到应用商店(为啥我家的网络电视没有应用商店)

网络电视怎么找不到应用商店(为啥我家的网络电视没有应用商店)

智能电视功能强大,不仅可以看电视还可以玩游戏、唱歌听音乐……只需要在电视的应用商店中下载电视软件就可以实现各种功能,那么...

2023-05-30 20:36:31查看全文 >>

如何打开网络电视应用商店(网络电视怎么下应用商店)

如何打开网络电视应用商店(网络电视怎么下应用商店)

智能电视功能强大,不仅可以看电视还可以玩游戏、唱歌听音乐……只需要在电视的应用商店中下载电视软件就可以实现各种功能,那么...

2023-05-30 20:20:10查看全文 >>

网络电视怎么找应用商店(网络电视怎么下应用商店)

网络电视怎么找应用商店(网络电视怎么下应用商店)

智能电视软件怎么安装?一是通过自带应用商店,二是通过第三方电视应用市场——美家市场进行软件安装。许多智能电视都会有自己的...

2023-05-30 20:38:15查看全文 >>

电视的第三方应用商店在哪(电视第三方应用商店哪些好)

电视的第三方应用商店在哪(电视第三方应用商店哪些好)

小米电视6将于6月28日正式亮相,不少用户都非常期待小米电视的新动作。据悉小米电视6在画质上将迎来新的改革,会为广大用户...

2023-05-30 20:17:13查看全文 >>

文档排行