zoukankan      html  css  js  c++  java
  • GCC

    GCC编译C源码有四个步骤:

    预处理-----> 编译 ----> 汇编 ----> 链接

    c-i,            i-s,          s-o,           o-exe

    -E              -S           -C            *.o   -o  *.exe

    现在我们就用GCC的命令选项来逐个剖析GCC过程。

    1)预处理(Pre-processing)

    在该阶段,编译器将C源代码中的包含的头文件如stdio.h编译进来,用户可以使用gcc的选项”-E”进行查看。

    用法:#gcc -E hello.c -o hello.i

    作用:将hello.c预处理输出hello.i文件。

    2)编译阶段(Compiling)

    第二步进行的是编译阶段,在这个阶段中,Gcc首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,Gcc把代码翻译成汇编语言。用户可以使用”-S”选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。

    选项 -S

    用法:[root]# gcc –S hello.i –o hello.s

    作用:将预处理输出文件hello.i汇编成hello.s文件。

    3)汇编阶段(Assembling)

    汇编阶段是把编译阶段生成的”.s”文件转成二进制目标代码.

    选项 -c

    用法:[root]# gcc –c hello.s –o hello.o

    作用:将汇编输出文件test.s编译输出test.o文件。

    4)链接阶段(Link)

    在成功编译之后,就进入了链接阶段。

    无选项链接

    用法:[root]# gcc hello.o –o hello.exe

    作用:将编译输出文件hello.o链接成最终可执行文件hello.exe。

  • 相关阅读:
    多播委托与事件
    Linq 查询的演变过程
    Lamda表达式的前世今生
    微服务架构学习
    委托IL解析-----封装逻辑和代码复用
    ORM框架学习(四)
    ORM框架学习(三)
    Visual Studio 2010 旗舰版安装图解
    Microsoft SQL Server 2008 R2 中文安装说明
    3.0 面向对象 委托和事件 异常和错误
  • 原文地址:https://www.cnblogs.com/greencolor/p/1684794.html
Copyright © 2011-2022 走看看