GCC 编译详解

本文详细介绍了GCC编译系统的工作流程,包括预处理、编译、汇编和链接四个阶段。通过MAC终端演示了从编写C语言源代码到生成可执行文件的全过程,解释了GCC的编译选项如-E、-S、-c的作用,以及动态库和静态库的概念。
摘要由CSDN通过智能技术生成
  • 说明:

    • GNU CC(简称为Gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。Gcc不仅功能强大,而且可以编译如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多种语言,而且Gcc又是一个交叉平台编译器,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,因此尤其适合在嵌入式领域的开发编译
    • 本文借助的参考文档: http://www.cnblogs.com/azraelly/archive/2012/07/07/2580839.html
  • 此文章由 @Scott 编写. 经 @春雨 审核. 若转载此文章,请注明出处和作者

工程从创建到运行的各个阶段所生成的各类文件.

  • GCC的编译流程分为四个步骤:
    • 预处理(Pre-processing)
    • 编译(Compiling)
    • 汇编(Assembling)
    • 链接(Linking)

原始程序(编写程序时生成的文件类型)

后缀名 对应的语言
.c C原始程序
.C/.cc/.cxx c++ 原始程序
.h 预处理文件(头文件)
.m Objective-C 原始程序

预处理(Pre-processing)

后缀名 对应的语言
.i 已经过预处理的C原始程序
.ii 已经过预编译的C++原始程序.

编译(Compiling)

后缀名 对应的语言
.s/.S 汇编语言原始程序

汇编(Assembling)

后缀名 对应的语言
.o 目标文件
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值