gcc编译c文件

       gcc是常用来编译c语言程序的编译器,了解它编译c语言的命令参数,对c/c++语言的学习是有一定好处的。

gcc编译文件一步到位的命令格式

  1. gcc main.c -o main.exe 设置了程序经过编译后,生成的可执行程序名   -o表示后面的参数是输出后的文件名,后面亦然。
  2. gcc main.c 默认生成a.exe

gcc编译c文件常用命令参数解释

gcc编译过程以及命令格式解析

gcc编译过程:预处理,编译,汇编,链接

gcc编译c文件常用命令参数解释

现在来详解各个过程:

首先给出源文件circle.c的内容,

gcc编译c文件常用命令参数解释

预处理过程:头文件包含:把引用的头文件的内容包含到文件中, 

                      宏替换:把代码块中的宏替换成预定义的内容

                      条件编译:一般情况下,程序中的每一行代码.都要参加编译。但有时候出于对程序代码优化的考虑.希望只对其中一                   部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,          这就是条件编译。

                      条件编译语句的三种格式:

                               gcc编译c文件常用命令参数解释

预处理命令:gcc -E circle.c -o circle.i  在预处理过程不做语法检查。经过预处理的文件内容:

gcc编译c文件常用命令参数解释

 

编译过程:将预处理文件编译成汇编文件。

编译命令:gcc -S circle.i -o circle.s在这个过程要进行语法检查。

经过编译后的文件内容;

gcc编译c文件常用命令参数解释

 

汇编过程:将上一步的汇编文件转换为二进制文件,操作系统能够自己识别二进制文件的内容,进行相应的响应。

但这时不能直接执行,需要进行下一步。

命令:gcc -c circle.s -o circle.o

内容:

gcc编译c文件常用命令参数解释

 

链接过程:将各个二进制文件 + 库函数 + 启动文件生成可执行文件。

命令:gcc  circle.o -o circle.exe

结果:

gcc编译c文件常用命令参数解释

综合上面几步,一步到位如下:

gcc编译c文件常用命令参数解释

 

 

 

 

相关文章: