1、预处理:生成预处理后的源代码文件
gcc -E input.c -o output.i
2、编译:将预处理后的源代码编译为汇编代码
gcc -S output.i -o output.s
3、汇编:将汇编代码转换为机器代码(目标文件)
gcc -c output.s -o output.o
4、 链接:将目标文件与所需的库文件链接生成可执行文件
gcc output.o -o executable
5、直接将.c文件生成可执行文件
gcc output.c -o output
6、库文件
(1)库文件由链接器将目标文件产合并而成
(2)分为静态库(.a、.lib)和动态库(.so、.dll)
(3)作用:a、可以被其他程序引用和链接,方便代码的重用和模块化开发;
b、隐藏底层实现细节,更好地保护源代码的安全性;
c、库文件还可以提供接口文档和示例代码,方便使用