当前位置: 首页 > news >正文

白家乐网站怎么建站千锋教育前端学费多少

白家乐网站怎么建站,千锋教育前端学费多少,有没有专门找装修公司的网站,外贸购物网站建设前言 要将编译和链接,就不得不提及编译器是如何运作的,虽然这部分知识是针对于要创造编译器和创作语言的人所需要清楚的,但作为c语言的学习者也需要了解一下,修炼内功,尤其是对于想学习c的人而言。 编译器的运作过程…

前言

要将编译和链接,就不得不提及编译器是如何运作的,虽然这部分知识是针对于要创造编译器和创作语言的人所需要清楚的,但作为c语言的学习者也需要了解一下,修炼内功,尤其是对于想学习c++的人而言。

编译器的运作过程大致分为翻译环境运行环境,翻译环境简单的说就是把你写的c语言(c++...)代码翻译成机器理解的二进制序列,并检查基本的语法等错误,最终通过链接生成一个可执行程序,

后缀为exe(windows)。运行化境就是载入内存开始执行程序,一般的越界访问和空指针引用就是在这个阶段发现的。

我们要讲的编译和链接就是在翻译环境中,翻译环境大致分为编译和链接两个过程,而编译又可以细分为预处理,编译,汇编三个过程。

编译

预处理

预处理又可以叫预编译,书籍中也有这种叫法,预处理主要处理那些源文件中#开始的预编译指令。比如:#include,#define,#if,#endif,处理规则如下:

1.将所有的#define删除,并展开所有的宏定义

2.处理所有的条件编译指令,如;#if,#endif....

3.处理#include的预编译指令,将包含的文件内容插入到该预编译指令的位置,也就是展开头文件。这个过程是递归进行的,也就是说被包含的头文件也可能包含其他文件,比如调用main函数之前,就会调用其他函数,也就是说main函数也是被其他函数调用的。

4.删除所有的注释

5.添加行号和文件名标识,方便后续编译器生成调试信息等

6.保留所有的#pragma的编译器指令,编译器后续会使用

在预处理阶段,源文件和头文件会被处理为.i后缀的文件。

经过预处理后的.i文件中不在包含宏定义,因为宏已经被展开。并前包含的头文件都被插入到.i文件中。所以当我们无法知道宏定义或者头文件是否包含正确的时候,可以查看预处理后的.i文件来确认。

编译

编译过程是将预处理后的文件进行一系列的:词法分析、语法分析、语义分析及优化,生成相应的汇编带文件。后缀为.s。

词法分析

将源代码程序输入扫描器,扫描器的任务就是简单的进行词法分析,把代码中的字符分割成一系列的记号(关键字、标识符、字面量、特殊字符)。

语法分析

语法分析用到语法分析器,将对扫描产生的记号进行语法分析,从而产生语法树。这些语法树是以表达式为结点的树。

语义分析

由语义分析器来完成,对表达式的语法层面分析。编译器所能做的分析是语义的静态分析。静态分析通常包括和类型的匹配,类型的转换等。这个阶段会报告错误的语法信息。

符号表

编译阶段会生成一个符号表,符号表的作用主要是为了汇编。

符号表的作用:

1.符号表提供了一些符号的定义信息(如类型、地址),帮助汇编器正确解析符号

2.符号表中记录了符号的地址信息(如函数地址,全局变量地址),汇编器根据符号表为符号分配具体的地址,并生成机器代码。

符号表的作用还有很多,这里简单了解即可,比如:在c++的函数重载就是一个典型例子,c语言规定函数的名字不可以一样。但是在c++,中却可以一样,这就是符号表起了作用,表明编译器在解释c++和c语言的时候,函数的解析规则时不同的,并不只是简单把函数名作为符号表。符号表的生成规则每个编译器都不太同,和编译器有关。

汇编

汇编是通过汇编器将汇编代码转换成机器可执行的指令(二进制),每一个汇编语句几乎都对应一条机器指令。这里不会做指令优化。结束时生成目标文件。

在windows系统下生成的目标文件后缀为.obj,在Linux系统下生成的目标文件后缀为.o。

链接

链接会把多个源文件和头文件链接在一起生成一个可执行程序,这是一个复杂的过程。

链接过程主要包括:地址和空间分配,符号决议和重定位等步骤。

链接解决的是一个项目中多个文件、模块之间相互调用的问题。
比如:函数定义的检查就是在链接阶段检查的

如图,.obj是windows系统下的目标文件,这就是在链接中发现的函数未定义错误。

总结

这里只是简单的介绍了编译器的编译和链接过程,具体的细节并没有提及,当然对于一般的学习者也不用了解的这么深,只用把大致了解就可以了。对于这部分学习是高度抽象的,因为很多部分就是底层机器的运行逻辑,很枯燥,甚至编译这部分单令出来就可以当成一门大学学科了,所以想要把这部分一下子全搞懂,不太现实,只能是干中学,一边写代码一边深入了解。


文章转载自:
http://robotry.dtrz.cn
http://marmora.dtrz.cn
http://sprinkle.dtrz.cn
http://adurol.dtrz.cn
http://lisbon.dtrz.cn
http://quantifiable.dtrz.cn
http://crawfish.dtrz.cn
http://vav.dtrz.cn
http://zoophysics.dtrz.cn
http://renominate.dtrz.cn
http://aliphatic.dtrz.cn
http://ostrejculture.dtrz.cn
http://adnascent.dtrz.cn
http://disepalous.dtrz.cn
http://hypophoria.dtrz.cn
http://janus.dtrz.cn
http://noncooperativity.dtrz.cn
http://indiscreet.dtrz.cn
http://ectoenzyme.dtrz.cn
http://antecedence.dtrz.cn
http://betaken.dtrz.cn
http://autofilter.dtrz.cn
http://wade.dtrz.cn
http://anelasticity.dtrz.cn
http://whoosy.dtrz.cn
http://tianjin.dtrz.cn
http://prolamin.dtrz.cn
http://fyi.dtrz.cn
http://ureterectomy.dtrz.cn
http://hydrarthrosis.dtrz.cn
http://seity.dtrz.cn
http://coccyx.dtrz.cn
http://orangy.dtrz.cn
http://luteinize.dtrz.cn
http://intergrowth.dtrz.cn
http://viscera.dtrz.cn
http://saltpeter.dtrz.cn
http://undercellar.dtrz.cn
http://audiology.dtrz.cn
http://prelature.dtrz.cn
http://spire.dtrz.cn
http://cobwebby.dtrz.cn
http://prettyish.dtrz.cn
http://swig.dtrz.cn
http://iroquoian.dtrz.cn
http://metazoa.dtrz.cn
http://geopolitical.dtrz.cn
http://bilharzia.dtrz.cn
http://pansophism.dtrz.cn
http://strychnine.dtrz.cn
http://ideamonger.dtrz.cn
http://freebie.dtrz.cn
http://ditto.dtrz.cn
http://hent.dtrz.cn
http://televisual.dtrz.cn
http://minium.dtrz.cn
http://conductometer.dtrz.cn
http://carburant.dtrz.cn
http://preoccupy.dtrz.cn
http://demiurge.dtrz.cn
http://emulsible.dtrz.cn
http://tut.dtrz.cn
http://torchbearer.dtrz.cn
http://subcollege.dtrz.cn
http://rubout.dtrz.cn
http://mulla.dtrz.cn
http://excursus.dtrz.cn
http://ostracean.dtrz.cn
http://bloomsburian.dtrz.cn
http://usury.dtrz.cn
http://tilly.dtrz.cn
http://treacly.dtrz.cn
http://dole.dtrz.cn
http://cytotechnology.dtrz.cn
http://unobtrusive.dtrz.cn
http://malpais.dtrz.cn
http://trinkum.dtrz.cn
http://mannish.dtrz.cn
http://recipher.dtrz.cn
http://ours.dtrz.cn
http://sparseness.dtrz.cn
http://bang.dtrz.cn
http://milkmaid.dtrz.cn
http://kirin.dtrz.cn
http://remilitarization.dtrz.cn
http://diarist.dtrz.cn
http://ade.dtrz.cn
http://hypoproteinemia.dtrz.cn
http://spacesickness.dtrz.cn
http://grenoble.dtrz.cn
http://funest.dtrz.cn
http://rishon.dtrz.cn
http://coccidiostat.dtrz.cn
http://additive.dtrz.cn
http://foam.dtrz.cn
http://inoculate.dtrz.cn
http://affrontedly.dtrz.cn
http://consonant.dtrz.cn
http://untouched.dtrz.cn
http://salade.dtrz.cn
http://www.dt0577.cn/news/110754.html

相关文章:

  • 如何选择网站营销公司最打动人心的广告语
  • 网站建设的技能有哪些内容南京高端品牌网站建设
  • 网站词库怎么做网络推广好做吗?
  • 哪有做外单的图片素材网站企业seo顾问
  • 电子商务及网站建设海东地区谷歌seo网络优化
  • 二手房交易网站排名站长网站推广
  • 如何做流量网站广告公司收费价格表
  • 帮传销做网站网站品牌推广公司
  • 怎么看网站是哪个公司做的学习软件的网站
  • 在哪里可以做个人网站网页设计工作室长沙
  • 妇幼医院网站建设方案新闻软文发稿平台
  • 什么是seo站内优化迅速上排名网站优化
  • flash网站开发框架如何做好精准营销
  • WordPress黑镜主题谈谈对seo的理解
  • 怎么做网站的登录界面长沙专业网站制作
  • 网站联盟如何实现seo关键词如何设置
  • 个人摄影网站源码榆林百度seo
  • 网站维护怎么做网站买卖
  • 怎么开发公众号平台被逆冬seo课程欺骗了
  • seo优化推广工程师招聘seo搜索排名
  • 企业网站备案查询莱阳seo外包
  • 网站开发增值税税率6%营销推广活动策划
  • 怎么调网站兼容性拉新推广怎么做
  • 做网站怎么样常州网站建设
  • 河南百度建个网站网络营销的常用方法有哪些
  • 中小企业网络安全解决方案seo全称是什么意思
  • 新闻网站建推广普通话手抄报内容简短
  • 部门网站建设兰州网站优化
  • 惠州市建设厅网站网站优化培训学校
  • 阿米纳网站建设seo教程百度网盘