C++编译

C++编译过程

编译:把文本形式的源代码翻译成机器语言,并生成目标文件
链接:将目标文件和操作系统的启动代码、库文件组织起来形成可执行文件

1. 编译:i-s-o

1.1 编译预处理(Pre-Processing)
编译器执行预处理指令(#开头),生成.i文件,不再包含#,例如#include, 宏定义#define,条件编译#ifdef等
1.2 编译(Compiling)
通过语法和词法分析,确定所有指令是否符合规则,翻译成汇编代码.s文件
1.3 汇编(Assembling)
把汇编语言翻译成目标机器指令的过程,生成.obj或.o目标文件,目标文件存放的就是与源程序等效的机器语言代码;
目标文件由段组成,通常至少包含两个段:

  • 代码段:包含程序指令
  • 数据段:存放程序用到的全局变量和静态变量

2.链接:(Lingking)

将目标文件和调用的库链接起来,生成bin文件;
其中有目标文件调用其它目标文件内的内容的情况,也有目标文件调用库的情况;

gcc编译器

GNU Compiler Collection
gcc特点:

  • 可移植,多平台支持
  • 交叉编译cross-compiler
  • 支持多语言前端
  • 模块化,可植入新语言和cpu
  • 自由软件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值