菜鸟的Linux学习史——第七章 Gcc

来源:互联网 发布:世界数据分析公司排名 编辑:程序博客网 时间:2024/05/16 08:57

   说到编程,大家肯定都了解,再谈编译,大家肯定也耳熟能详,编译不就是把语言翻译成机器能够识别的二进制代码,然后让机器执行吗?但你知道其中的每一个步骤吗?现在就来介绍一下Linux中的编译器GCC,GCC的工作流程分为四个阶段:预处理阶段,编译阶段,汇编阶段,以及链接阶段。预处理阶段主要执行的工作是“头文件的展开,宏定义,条件编译,这一部分生成的文件的后缀名为.i.再说编译阶段,主要执行的工作为语法检查与词法分析,生成的文件的后缀名为.s。汇编阶段的工作为将汇编程序翻译成可以识别的二进制文件,后缀名为.o。最后的链接阶段,顾名思义,连接头文件与源文件,生成后缀名为.a的可执行文件。

GCC的强大之处在于,他可以让程序在编译的任何阶段结束,以便检查输出信息。

GCC命令的使用格式为:gcc [选项] [文件名] [选项] [文件名]

      -c:为对源文件进行编译或汇编

     -E:对源文件进行预处理

    -S:对源文件进行预处理

    -o file: 输出目标文件file

    -v:显示编译阶段的命令

0 0