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

推广型网站开发网址巨量算数官方入口

推广型网站开发网址,巨量算数官方入口,wordpress 注册小工具,零基础wordpress 知乎目录 01.预处理#xff08;宏替换#xff09; 02.编译#xff08;生成汇编#xff09; 03.汇编#xff08;生成机器可识别码#xff09; 04.连接#xff08;生成可执行文件或库文件#xff09; 05.选项 编译器在编译代码时包含以下四个步骤#xff1a;1.预处理 2…目录 01.预处理宏替换 02.编译生成汇编 03.汇编生成机器可识别码 04.连接生成可执行文件或库文件 05.选项 编译器在编译代码时包含以下四个步骤1.预处理 2.编译 3.汇编 4.连接 下面来一一介绍 格式gcc [选项] 要编译的文件 [选项] [目标文件] 01.预处理宏替换 编译器预处理阶段主要负责处理源代码中的预处理指令其中包括宏替换。 预处理器 编译器预处理阶段由预处理器负责执行。预处理器负责源代码中以‘#’开头的预处理指令例如‘#define’、‘#include’、‘#ifdef’等并将它们转换为相应的代码。 宏替换 宏替换是与处理区的一项重要功能。在预处理阶段编译器会执行宏替换将源代码中的宏定义替换为其相应的内容。宏定义通常使用‘#define’指令定义例如 #define PI 3.14159在预处理阶段编译器会将代码中所有出现的‘PI’替换成‘3.14159’。 宏参数 宏定义可以嗲有参数这样可以创建参数化的宏。例如 #define MAX(x, y) ((x) (y) ? (x) : (y))宏展开 预处理器在进行宏替换时会执行宏展开即将宏调用替换成宏定义的内容在进行宏展开时会递归地展开嵌套的宏调用直到没有更多的宏调用为止。 实例 选项-E该选项的作用是让gcc在预处理结束后停止编译过程。 选项-o是指目标文件“text.i”文件为已经过预处理的C原始程序。 02.编译生成汇编 在这个阶段中gcc首先要检查代码的规范性、是否有语法错误等以确定代码实际要做的工作在检查无误后gcc把代码翻译成汇编语言。 词法分析 也称扫描器它负责将源代码分解成单词去除空白字符和注释。通常使用有限状态自动机或正则表达式来实现。 语法分析 也称解析器它负责将词法分析器生成的单词流转换成抽象语法树。这个阶段检查语法错误确保代码符合语言规范。 语义分析 语义分析器检查源代码中的语义错误如类型不匹配、未声明的变量等。它还负责构建符号表以及执行类型推断等任务。 优化 在生成目标代码之前编译器通常会对中间表示进行有害以提高程序的性能和效率。优化技术包括常量折叠、循环展开、死代码删除等。 代码生成 在这个阶段编译器将优化后的中间表示转换成目标机器的汇编代码或机器码。这个过程通常包括指令选择、寄存器分配、指令调度等步骤。 实例 选项-S进行编译生成汇编代码并停止汇编过程。 03.汇编生成机器可识别码 汇编阶段是把编译阶段生成的“.s”文件转成目标文件 语法分析 在语法分析阶段编译器会将源代码转换为中间表示形式通常是抽象语法树或者中间代码。这个过程包括词法分析和语法分析。 词法分析器负责将源代码分解为单词或者标记去除空格、注释等不必要的字符。 代码生成 代码生成阶段将中间表示形式转换为目标机器能够识别的汇编代码或者机器码。这个阶段包括指令选择、寄存器分配、指令调度等过程。 指令选择负责将中间表示的操作转换为目标机器的指令序列。寄存器分配则是将变量分配到寄存器或者内存位置以最小化访存操作。指令调度会对指令序列进行重新排列以优化执行顺序提高指令级并行度和流水线利用率。 实例 选项-c将汇编代码转化为二进制目标代码 04.连接生成可执行文件或库文件 在成功编译之后就进入了链接阶段。 实例 输入./对程序进行执行 这里涉及一个重要的概念函数库 我们的C程序中并没有定义“printf”的函数实现且在预编译中包含的“stdio.h”中也只有该函数的声明而没有函数的定义那么“printf”函数是哪里实现的呢 事实上系统把这些函数实现都被做到名为lib.so.6的库文件中去了在没有特别指定时gcc会到系统默认的搜索路径“/user/lib”下进行查找也就是链接到lib.so.6库函数中区这样就能实现函数“printf”了而这也就是链接的作用 函数库分为静态库及动态库 静态库 静态库是一组预编译的目标文件的集合这些目标文件中包含了函数的实现和数据。静态库的文件扩展名通常为 .a在Unix/Linux系统中或 .lib在Windows系统中。当你使用静态库时编译器会将库文件的代码复制到可执行文件中使得可执行文件变得更大。这意味着可执行文件中包含了静态库中的所有函数和数据使得可执行文件变得更加独立。 动态库 动态库是一组预编译的目标文件的集合与静态库不同的是它们在程序运行时被动态加载到内存中。动态库的文件扩展名通常为 .so在Unix/Linux系统中或 .dll在Windows系统中。使用动态库可以减小可执行文件的大小并且可以在运行时动态地加载和卸载库文件。这使得动态库在系统资源使用和代码更新方面更加灵活。 05.选项 除了以上的四个gcc还有很多选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面 -S  编译到汇编语言不进行汇编和链接 -c  编译到目标代码 -o 文件输出到 文件 -static 此选项对生成的文件采用静态链接 -g 生成调试信息。GNU 调试器可利用该信息。 -shared 此选项将尽量使用动态库所以生成文件比较小但是需要系统由动态库. -O0 -O1 -O2 -O3 编译器的优化选项的4个级别-O0表示没有优化,-O1为缺省值-O3优化级别最高 -w  不生成任何警告信息。 -Wall 生成所有警告信息。
http://www.dnsts.com.cn/news/242312.html

相关文章:

  • 网站建设需求登记表 免费下载新手运营从哪开始学
  • 网站建设suteng网站建设服务合同印花税
  • 安徽省建设造价网站杭州哪家网站建设公司好
  • 做二维码的网站用jsp做的网站代码
  • ftp怎么做网站的备份最有创意促销活动方案
  • 南阳网站建设与管理婚纱网站建设目的
  • 公司网站建设小知识公司网站制作投标
  • 家装网站容桂网站制作咨询
  • 登陆注册是静态网站室内设计用什么软件比较好
  • 青岛海川建设集团有限公司网站wordpress成功的网站
  • 网店推广培训seo网站编辑是做什么的
  • 毕业设计网站建设体会网站建设平台策划
  • 北海住房和城乡建设部网站广州的互联网公司
  • 唐山网站开发公司建网站的详细技术
  • wordpress代码恢复旧编辑器南京搜必应网站优化
  • 微信官方网站下载安装个体工商户备案网站备案
  • 德语网站建设wordpress 一级目录下
  • 网站开发提供源代码手机建站平台淘客
  • 做企业网站需要多久新闻今天的最新新闻
  • 如何做好网站首页WordPress下如何用页面做侧边栏
  • 网站建设优惠网站信息发布
  • 微信 免费 网站网站ipv6改造怎么做 网页代码
  • 商务网站开发与建设论文wordpress换新的电脑
  • 建设银行网站用户广告推广一个月多少钱
  • 免费个人网站怎么建立wordpress目录链接加html
  • django做网站效率高吗自助开通网站
  • 贵阳建设银行网站简洁自适应wordpress主题
  • 网站推广平台代理wordpress登入logo修改
  • 南宁彩票网站开发如何让google收录网站
  • 哪里建个人网站好东莞有哪些做网站