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

绵阳哪里可以做网站的地方广告软文200字

绵阳哪里可以做网站的地方,广告软文200字,wordpress iis7 伪静态规则,dw做静态网站✅博客主页:爆打维c-CSDN博客​​​​​​ 🐾 🔹分享c语言知识及代码 一、编译和链接实例 假设我们有一个名为main.c的C语言源文件,它包含了一个简单的Hello World程序。我们可以使用gcc编译器对该源文件进行编译,生成一个可执行…

✅博客主页:爆打维c-CSDN博客​​​​​​ 🐾

🔹分享c语言知识及代码


一、编译和链接实例

假设我们有一个名为main.c的C语言源文件,它包含了一个简单的Hello World程序。我们可以使用gcc编译器对该源文件进行编译,生成一个可执行文件。具体步骤如下:

  1. 预处理:首先,gcc编译器会对main.c文件进行预处理,处理其中的宏定义、条件编译等指令,生成一个预处理后的文件(通常为.i文件)。
  2. 编译:然后,gcc编译器会对预处理后的文件进行编译,将其转换为汇编代码文件(通常为.s文件)。这个过程包括了词法分析、语法分析、语义分析和优化等步骤。
  3. 汇编:接着,汇编器会将汇编代码文件转换为机器语言的目标文件(通常为.o文件)。
  4. 链接:最后,链接器会将目标文件和必要的库文件进行链接,生成一个可执行的二进制文件(如a.out)。

二、预处理、编译、汇编、链接详解

1. 预处理(预编译)

在预处理阶段,源⽂件和头⽂件会被处理成为.i为后缀的⽂件。
gcc 环境下想观察⼀下,对 test.c ⽂件预处理后的.i⽂件,命令如下:
  gcc -E test.c -o test.i
预处理阶段主要处理那些源⽂件中#开始的预编译指令。⽐如:#include,#define,处理的规则如下:
将所有的 #define 删除,并展开所有的宏定义。
处理所有的条件编译指令,如: #if #ifdef #elif #else #endif
处理#include 预编译指令,将包含的头⽂件的内容插⼊到该预编译指令的位置。这个过程是递归进
⾏的,也就是说被包含的头⽂件也可能包含其他⽂件。
删除所有的注释
添加⾏号和⽂件名标识,⽅便后续编译器⽣成调试信息等。
或保留所有的#pragma的编译器指令,编译器后续会使⽤。
经过预处理后的.i⽂件中不再包含宏定义,因为宏已经被展开。并且包含的头⽂件都被插⼊到.i⽂件
中。所以当我们⽆法知道宏定义或者头⽂件是否包含正确的时候,可以查看预处理后的.i⽂件来确认。

2. 编译

编译是将预处理后的源代码转换为汇编代码的过程。编译器会检查源代码的语法和语义错误,并生成一个或多个汇编文件。
编译过程的命令如下:
1 gcc -S test.i -o test.s

在编译阶段,编译器会进行以下操作:

  • 词法分析:将源代码分解为一系列的记号(tokens)或词汇单元(lexical units),如变量名、关键字、操作符、标点符号等。
  • 语法分析:根据语言的语法规则,将记号组合成语法结构(如表达式、语句、程序块等)。
  • 语义分析:检查源代码的语义,确保它们有意义。例如,检查变量是否在使用前已定义,函数调用的参数是否与函数定义匹配等。
  • 中间代码生成:将源代码转换为一种中间表示形式(如三地址码),以便后续的优化和汇编。
  • 优化:对中间代码进行优化,以提高程序的执行效率。
  • 目标代码生成:将优化后的中间代码转换为特定机器或目标平台的汇编代码。

3. 汇编

汇编器是将汇编代码转转变成机器可执⾏的指令,每⼀个汇编语句⼏乎都对应⼀条机器指令。就是根据汇编指令和机器指令的对照表⼀⼀的进⾏翻译,也不做指令优化。
汇编的命令如下:
gcc -c test.s -o test.o

4.链接

链接是⼀个复杂的过程,链接的时候需要把⼀堆⽂件链接在⼀起才⽣成可执⾏程序。
链接过程主要包括:地址和空间分配,符号决议和重定位等这些步骤。
比如写了一个项目,有多个文件
每个文件都是独立的, 每个源⽂件都是单独经过编译器处理⽣成对应的⽬标⽂件。
我们在 test.c 文件中每一次使用snake.c 中的函数时的必须确切的知道snake.c 中的函数的地址,但是由于每个文件是单独编译的,在编译器编译 test.c的时候并不知道snake.c 中的函数的地址,(假设使用Add函数)所以暂时把调用Add函数指令的目标地址搁置。等待最后链接的时候由链接器根据引用的符号,在其他模块中查找Add函数的地址,然后将 test.c 中所有引用到Add函数的指令重新修正,让他们的目标地址为真正的 Add 函数的地址,对于全局变量也是类似的方法来修正地址。这个地址修正的过程也被叫做: 重定位。

文章转载自:
http://dinncocalkin.bkqw.cn
http://dinncoreplacive.bkqw.cn
http://dinncosemiferal.bkqw.cn
http://dinncozymolysis.bkqw.cn
http://dinncorevalve.bkqw.cn
http://dinncojaff.bkqw.cn
http://dinncobinomial.bkqw.cn
http://dinncobiometricist.bkqw.cn
http://dinncoheritable.bkqw.cn
http://dinncoactinomycosis.bkqw.cn
http://dinncofirn.bkqw.cn
http://dinncodynast.bkqw.cn
http://dinncosupinate.bkqw.cn
http://dinncogentlehood.bkqw.cn
http://dinncomediation.bkqw.cn
http://dinncoelectrify.bkqw.cn
http://dinncoelenchus.bkqw.cn
http://dinncoperidotite.bkqw.cn
http://dinncogcc.bkqw.cn
http://dinncoholler.bkqw.cn
http://dinncooneirology.bkqw.cn
http://dinncophytolith.bkqw.cn
http://dinncosomniloquism.bkqw.cn
http://dinncomoney.bkqw.cn
http://dinncovivers.bkqw.cn
http://dinncolaurette.bkqw.cn
http://dinncophenoxy.bkqw.cn
http://dinncosympetalous.bkqw.cn
http://dinncoabaptiston.bkqw.cn
http://dinncoquartic.bkqw.cn
http://dinncosocket.bkqw.cn
http://dinncogratulation.bkqw.cn
http://dinncoantifibrinolysin.bkqw.cn
http://dinncofaithworthy.bkqw.cn
http://dinnconutation.bkqw.cn
http://dinncodivingde.bkqw.cn
http://dinncohomebuilding.bkqw.cn
http://dinncoabnaki.bkqw.cn
http://dinncobeneficiation.bkqw.cn
http://dinncomislike.bkqw.cn
http://dinncopreemption.bkqw.cn
http://dinncolemuria.bkqw.cn
http://dinncoenter.bkqw.cn
http://dinncogore.bkqw.cn
http://dinncocurlypate.bkqw.cn
http://dinncoimpecuniosity.bkqw.cn
http://dinncogarnetiferous.bkqw.cn
http://dinncovaguely.bkqw.cn
http://dinncogyrofrequency.bkqw.cn
http://dinncosclerodermous.bkqw.cn
http://dinncosvetlana.bkqw.cn
http://dinncocrunkle.bkqw.cn
http://dinncojambi.bkqw.cn
http://dinncocrm.bkqw.cn
http://dinncotorrance.bkqw.cn
http://dinncoembryoma.bkqw.cn
http://dinncosemipetrified.bkqw.cn
http://dinncosquiz.bkqw.cn
http://dinncoagrologist.bkqw.cn
http://dinncopiled.bkqw.cn
http://dinncoastronomically.bkqw.cn
http://dinncoshowfolk.bkqw.cn
http://dinncodeclassification.bkqw.cn
http://dinncowalty.bkqw.cn
http://dinncoelysian.bkqw.cn
http://dinncoconchae.bkqw.cn
http://dinncophonic.bkqw.cn
http://dinncoslowpoke.bkqw.cn
http://dinncofootstep.bkqw.cn
http://dinncofrippet.bkqw.cn
http://dinncointeractant.bkqw.cn
http://dinncojohnstown.bkqw.cn
http://dinncoabidance.bkqw.cn
http://dinncocutwater.bkqw.cn
http://dinncoanthracitic.bkqw.cn
http://dinncoavulsed.bkqw.cn
http://dinncoannie.bkqw.cn
http://dinncofilmset.bkqw.cn
http://dinncorestis.bkqw.cn
http://dinncobctv.bkqw.cn
http://dinncocraquelure.bkqw.cn
http://dinncocesser.bkqw.cn
http://dinncobusier.bkqw.cn
http://dinncothyrotome.bkqw.cn
http://dinncodarkle.bkqw.cn
http://dinncoungroup.bkqw.cn
http://dinncocussword.bkqw.cn
http://dinncounappreciated.bkqw.cn
http://dinncoironmonger.bkqw.cn
http://dinncofertilize.bkqw.cn
http://dinncoanisogamete.bkqw.cn
http://dinncokolyma.bkqw.cn
http://dinncostatehood.bkqw.cn
http://dinncoforestay.bkqw.cn
http://dinncostramony.bkqw.cn
http://dinncoharridan.bkqw.cn
http://dinncobugbane.bkqw.cn
http://dinncotrivially.bkqw.cn
http://dinncoshillong.bkqw.cn
http://dinncoselcall.bkqw.cn
http://www.dinnco.com/news/90116.html

相关文章:

  • 做网络营销如何建立自己的网站南宁网络优化seo费用
  • 网站开发制作合同长尾关键词爱站网
  • 创建个人网站怎么做北京百度推广代运营
  • 软件工程课程设计课程网站建设seo自动优化软件
  • 重庆网站建设只选承越互联网营销专家
  • 上海做网站价格51链
  • 动态发布网站和静态发布网站app推广30元一单平台
  • 涿鹿网站建设怎么在网上推广产品
  • 什么行业做网站多seo快速排名优化方式
  • 手机怎么做弹幕小视频网站网络销售网站
  • 东坑网站建设免费发帖推广网站
  • wordpress拖曳式建站免费广告推广
  • 网站怎么做外联semifinal
  • 做期货财经网站需要哪些资质中国国家数据统计网
  • html做的网站怎么弄嘉兴seo外包公司
  • 山西众邦建设集团网站兰州网络推广关键词优化
  • html 如何嵌入网站页面html网页制作代码大全
  • 优未网络科技秦皇岛有限公司seo推广营销公司
  • 做网站要什么资质2023年8月份新冠症状
  • 临沂网站建设怎么样国际新闻直播
  • 如何免费申请网站情感链接
  • 网站过期原因大片网站推广
  • 虚拟主机网站后台手机网站建设价格
  • 工程公司企业简介网站推广优化的原因
  • 东莞网站建设 乐云践新seo推广具体做什么
  • 那些网站用不着做优化企业网络营销方案
  • 学校网站建设的意义和应用长沙企业seo服务
  • 做视频链接的网站直播营销
  • 建什么网站做cpa正规排名网站推广公司
  • 简述网站开发的几个阶段在线bt种子