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

o2o商城网站建设展览展示设计网站

o2o商城网站建设,展览展示设计网站,手机app开发需要什么技术,wordpress如何返回之前更新的版本1.预处理 hello.c 经过预处理得到 hello.i gcc -E hello.c -o hello.i -E的含义#xff1a;说明这是一个预处理操作 生成预处理文件(.i) 预处理阶段做了什么事#xff1a; 1.1 头文件展开 我们发现 原先只有几行的hello.c变成了上千行的hello.i 实际上 预处理完成的是 将头… 1.预处理 hello.c 经过预处理得到 hello.i gcc -E hello.c -o hello.i -E的含义说明这是一个预处理操作 生成预处理文件(.i) 预处理阶段做了什么事 1.1 头文件展开 我们发现 原先只有几行的hello.c变成了上千行的hello.i 实际上 预处理完成的是 将头文件展开 所有#include的内容全部插入源代码 并且不会检查语法错误 因此 但凡被#include的文件 其所有文本内容都会被无脑插入源代码 1.2 宏定义替换 若#define x y 则将所有的x 以文本的层次 替换成y 什么叫做以文本的层次 就是说这是无脑替换 不会检查语法错误 所以有时要注意运算顺序 加括号 专业术语就是将宏名替换为宏值 1.3 删除注释 注释是给人看的 计算机不看这些 将注释替换位空行 1.4 展开条件编译 根据实际的define情况 在代码中智能添加 //dosomething 2.编译 hello.i 经过编译得到 hello.s gcc -S hello.s -o hello.s -S的含义说明这是编译操作 生成汇编文件(.s) (也可以从源文件一步到达.s) 注意是大写S 生成的文件格式是小写s 生成汇编指令 向下翻译 生成了约几十行的文本内容 这是 最接近底层 最接近机器语言的汇编语言(汇编指令) 编译过程会检查语法错误 如果语法不正确 则无法生成汇编语言 相比之下 预处理过程不会检查语法错误 因此 编译过程是整个4步骤过程中最耗时的 因为语法错误要逐行检查 3.优化 优化处理是编译系统中一项比较艰深的技术。它涉及到的问题不仅同编译技术本身有关而且同机器的硬件环境也有很大的关系。优化一部分是对中间代码的优化。这种优化不依赖于具体的计算机。另一种优化则主要针对目标代码的生成而进行的。上图中我们将优化阶段放在编译程序的后面这是一种比较笼统的表示。 对于前一种优化主要的工作是删除公共表达式、循环优化代码外提、强度削弱、变换循环控制条件、已知量的合并等、复写传播以及无用赋值的删除等等。 后一种类型的优化同机器的硬件结构密切相关最主要的是考虑是如何充分利用机器的各个硬件寄存器存放的有关变量的值以减少对于内存的访问次数。另外如何根据机器硬件执行指令的特点如流水线、RISC、CISC、VLIW等而对指令进行一些调整使目标代码比较短执行的效率比较高也是一个重要的研究课题。 经过优化得到的汇编代码必须经过汇编程序的汇编转换成相应的机器指令方可能被机器执行。 4.汇编 hello.s 经过汇编得到 hello.o gcc -c hello.s -o hello.o -c的含义说明这是执行汇编操作 生成目标文件(.o) (也可以从源文件一步到达.o) 汇编指令被翻译成了二进制的机器指令 通常在记事本中以十六进制形成呈现 汇编过程实际上指把汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。 5.链接 gcc hello.o -o hello.exe 1.数据段合并 2.数据地址回填 3.库引入 由汇编程序生成的目标文件并不能立即就被执行其中可能还有许多没有解决的问题。例如某个源文件中的函数可能引用了另一个源文件中定义的某个符号如变量或者函数调用等在程序中可能调用了某个库文件中的函数等等。所有的这些问题都需要经链接程序的处理方能得以解决。 链接程序的主要工作就是将有关的目标文件彼此相连接也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来使得所有的这些目标文件成为一个能够诶操作系统装入执行的统一整体。 根据开发人员指定的同库函数的链接方式的不同链接处理可分为两种 1静态链接 在这种链接方式下函数的代码将从其所在地静态链接库中被拷贝到最终的可执行程序中。这样该程序在被执行时这些代码将被装入到该进程的虚拟地址空间中。静态链接库实际上是一个目标文件的集合其中的每个文件含有库中的一个或者一组相关函数的代码。(个人备注静态链接将链接库的代码复制到可执行程序中使得可执行程序体积变大) 2动态链接  在此种方式下函数的代码被放到称作是动态链接库或共享对象的某个目标文件中。链接程序此时所作的只是在最终的可执行程序中记录下共享对象的名字以及其它少量的登记信息。在此可执行文件被执行时动态链接库的全部内容将被映射到运行时相应进程的虚地址空间。动态链接程序将根据可执行程序中记录的信息找到相应的函数代码。个人备注动态链接指的是需要链接的代码放到一个共享对象中共享对象映射到进程虚地址空间链接程序记录可执行程序将来需要用的代码信息根据这些信息迅速定位相应的代码片段。 对于可执行文件中的函数调用可分别采用动态链接或静态链接的方法。使用动态链接能够使最终的可执行文件比较短小并且当共享对象被多个进程使用时能节约一些内存因为在内存中只需要保存一份此共享对象的代码。但并不是使用动态链接就一定比使用静态链接要优越。在某些情况下动态链接可能带来一些性能上损害。
http://wiki.neutronadmin.com/news/210745/

相关文章:

  • 仿win8网站精仿源码社区网站源码
  • 有没有会计做兼职的网站wordpress改造熊掌号
  • 跨境电商无货源怎么做黑帽seo什么意思
  • 网站建设费用有哪些方面word做招聘网站
  • 网站建设制作做网站优化推广公司设计网站案例网站
  • 徐州市建筑工程交易网外链seo招聘
  • 湛江网站建设做瞹免费视频网站
  • 申请做网站_论坛版主快速建站网站
  • 网络营销专业是干嘛的谷歌优化的最佳方案
  • 旅游论坛网站建设h5游戏大厅
  • 多语言版本网站制作海南网站建设哪里好
  • 如何建立自己的网站免费商城网站项目案例
  • 高端网站开发价格网站优化怎么做外链
  • html5制作网站开发网站建设管理经验
  • 传统企业网站建设西安网站建设云李
  • 牛人网站建设网站建设公司山而
  • 娱乐网站制作企业网站做的好的有什么公司
  • 广州积分入学网站注册公司流程及步骤
  • 用php做电商网站有哪些成都网站备案
  • 网站建设经费管理php企业网站系统
  • 网站建设数据库怎么传送网站制作 杭州公司
  • 软件开发和网站建设那个好区块链app制作教程
  • 怎么上传网站仙居住房和城乡建设局网站
  • 广州网站建设哪好买个天猫店多少钱一个
  • 九江企业网站的建设WordPress站内跳转设置
  • 网站建设书本打电话沟通做网站
  • 官方网站建设 磐石网络多少费用wordpress免费简约主题下载
  • 聊网站推广河源东源新闻最新消息
  • 天津手机版建站系统哪个好比较好看的网站设计
  • 网站开发和设计区别网站开发专业 工作意愿