gcc编译c文件
gcc是常用来编译c语言程序的编译器,了解它编译c语言的命令参数,对c/c++语言的学习是有一定好处的。
gcc编译文件一步到位的命令格式
- gcc main.c -o main.exe 设置了程序经过编译后,生成的可执行程序名 -o表示后面的参数是输出后的文件名,后面亦然。
- gcc main.c 默认生成a.exe
gcc编译过程以及命令格式解析
gcc编译过程:预处理,编译,汇编,链接
现在来详解各个过程:
首先给出源文件circle.c的内容,
预处理过程:头文件包含:把引用的头文件的内容包含到文件中,
宏替换:把代码块中的宏替换成预定义的内容
条件编译:一般情况下,程序中的每一行代码.都要参加编译。但有时候出于对程序代码优化的考虑.希望只对其中一 部分内容进行编译.此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃, 这就是条件编译。
条件编译语句的三种格式:
预处理命令:gcc -E circle.c -o circle.i 在预处理过程不做语法检查。经过预处理的文件内容:
编译过程:将预处理文件编译成汇编文件。
编译命令:gcc -S circle.i -o circle.s在这个过程要进行语法检查。
经过编译后的文件内容;
汇编过程:将上一步的汇编文件转换为二进制文件,操作系统能够自己识别二进制文件的内容,进行相应的响应。
但这时不能直接执行,需要进行下一步。
命令:gcc -c circle.s -o circle.o
内容:
链接过程:将各个二进制文件 + 库函数 + 启动文件生成可执行文件。
命令:gcc circle.o -o circle.exe
结果:
综合上面几步,一步到位如下: