zoukankan      html  css  js  c++  java
  • 使用gcc编译C程序的详细过程

         在Linux中,gcc更像一个工具大管家,管理很多工具一起来对C程序进行编译。详细过程请看下图,带阴影的箭头表示文件的流程,空白箭头表示控制过程:

    gcc

         下面详细介绍一下这个过程。

           1、程序员在Linux终端中输入命令gcc eatc.c –o eatc

           2、gcc接管Linux的控制权,然后立即启用一个工具C preprocessor(cpp)。这个工具处理C语言的源代码文件(eatc.c),处理比如#include、#define之类的东西(预处理)。

           3、之后,gcc接管。gcc把预处理后的文件进一步处理,变成和原始的C文件等价的 .s 汇编文件,这是一个人工可以读懂的文件。

           4、之后,gcc就省事了。它把 .s 文件交给gas(一种GNU assembler)进行处理,生成 .o 文件。

           5、之后,再使用ld(一种GNU linker)进行处理,把文件中使用到的C库程序全部都链接到一起。最终形成一个可执行文件。

           6、gcc把控制权交还给Linux。

  • 相关阅读:
    bzoj1059: [ZJOI2007]矩阵游戏
    NEW
    bzoj2438: [中山市选2011]杀人游戏
    bzoj4554: [Tjoi2016&Heoi2016]游戏 二分图匹配
    【高精度】模板 (C++)
    【BZOJ4025】二分图 LCT
    读入/输出模板
    一些 Markdown 语法
    题解 P3732 [HAOI2017]供给侧改革
    题解 CF1598A Computer Game
  • 原文地址:https://www.cnblogs.com/wangshuo/p/2000318.html
Copyright © 2011-2022 走看看