单片机基本知识(二)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4089|回复: 2

单片机基本知识(二)

[复制链接]
发表于 2015-12-29 14:41 | 显示全部楼层 |阅读模式
本帖最后由 豇豆逗逗 于 2015-12-29 16:47 编辑

相信很多很人都跟我一样,只知道在写好程序后要通过编译,最后才能进行下载,然而,对于他背后的真正作用却没有去详细了解啦,然而我这次的实验恰好在这里卡住了,所以就干脆先详细了解一下他们背后的强大力量好了。
广义的代码编译过程,实际上应该细分为:预处理,编译,汇编,链接

预处理过程:负责头文件展开,宏替换,条件编译(#ifdef、、#endif)的选择,删除注释等工作。

编译过程:负载将预处理生成的文件,经过词法分析(一个个字符地扫源代码),语法分析(分析语法),语义分析(语句的含义分析)及优化(比如从0加到100,你用for跟用公式,语义是一样的,但是用公式速度快很多,所以优化为公式)后生成汇编文件。

汇编:是将汇编代码转换为机器可执行指令的过程,也就是01序列。
编译过程与汇编通俗说就是将人类可读的文本翻译成为计算机可以执行的二进制指令

链接:是把目标文件()转成可执行文件。

下载:运行可执行文件。

代码与源代码的区别:
源程序,是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。
代码,就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
一般不加以区。
简单说源程序就是编译一下就可以运行的代码集合,而代码可以是一段或者几句话。

源代码:
源代码(也称源程序),是指一系列人类可读的计算机语言指令。

在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
源代码主要功用有如下2种作用:

生成目标代码,即计算机可以识别的代码。
对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。

程序:计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。

通俗说法:源程序就是程序员写的代码,目标程序是经过编译器编译的程序,可以理解为机器代码

伪代码:不是编程语言,只是写点思路的代码,叫伪代码

头文件查找
#include有两种写法形式,分别是:

#include <> : 直接到系统指定(编译器安装目录下的文件)的某些目录中去找某些头文件。

#include “” : 先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。







发表于 2016-1-9 22:12 | 显示全部楼层
涨姿势了...
原来头文件<>和""是不一样的...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:50 , Processed in 0.068824 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表