gcc编译程序四个阶段 预处理、编译、汇编、链接

  我们在windows下的时候大部分通过vs等编译器来编写我们的代码,这种编译器有一个统称的名字叫做IDE(Integrated Development Environment)中文名字是集成开发环境,为什么叫它集成开发环境,是因为你只需要安装一个vs你就可以做到对代码的编辑、编译、调试等等,每次我们在vs环境下编写完代码之后拿一下f5程序自动开始执行,我们就能得到程序的执行结果,实际上在你编写...
摘要由CSDN通过智能技术生成

  我们在windows下的时候大部分通过vs等编译器来编写我们的代码,这种编译器有一个统称的名字叫做IDE(Integrated Development Environment)中文名字是集成开发环境,为什么叫它集成开发环境,是因为你只需要安装一个vs你就可以做到对代码的编辑、编译、调试等等,每次我们在vs环境下编写完代码之后拿一下f5程序自动开始执行,我们就能得到程序的执行结果,实际上在你编写完代码之后到程序正确运行并且输出还有很长的路要走。

  我们一般分为四步分别是:预处理、编译、汇编、连接。我们就一步一步的来介绍一些这四步到底都做了些什么内容。

  预处理:预处理阶段的指令一般都是以#来开头的,所以我们编写的程序中像#include、#define等等都是在这一个阶段来完成的,我们经常在编写程序的时候会用到一些头文件stdio也好iostream也好,他们并不是说只是简单的一句话,他们是一些已经被编写好的库我们这里直接引用就可以,所以预处理阶段会把你所有引用的头文件打开来插入到我们本身的程序中。第二个就是预处理阶段会把我们程序中的所有宏进行替换掉,我们经常在程序开头定义一个宏定义,那宏定义的替换就是在预处理阶段完成的。第三个任务是我们在编写程序的时候常常会写入一些注释,这些注释都是给我们程序猿来看的,对程序并没有作用,所以在预处理阶段程序会把我们写入的编译删除掉,机器是看不到我们写的注释的。第四个就是我们的条件编译我们常常会写#ifdef这时候我们不符合条件的那一部分我们机器也是不会看到的,他不会进入到编译阶段。

  讲完这些就要提到我们的gcc,之前我们介绍了vim,vim可以说成是程序的编辑器,linux各个程序是分开的,vim并不能说把你的程序写出来之后还帮你编译帮你运行,这些任务是由gcc来完成的,并且gcc是可以把上边说到的四个步骤一个步骤一个步骤来执行的,我们可以看到每一步程序到底有哪些变化。这里我们就用gcc来看一下每一步程序发生了什么变化。

 这里我们在linux下简单编写一个程序

  • 19
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值