1.gcc工作流程
①预处理 -- E
宏替换、头文件展开、注释去掉、xxx.c -> xxx.i(c文件)
②编译 -- S
xxx.i -> xxx.s(汇编文件)
③汇编 -- c
xxx.s -> xxx.o(二进制文件)
④链接
xxx.o -> xxx(可执行文件)
其中,编译阶段所耗费时间最长。gcc只执行了编译操作,其余操作为gcc自动调用其他命令完成的。
gcc工作流程图
2.gcc常用参数
①-v / --version(可查看gcc的版本)
②-I:编译的时候指定头文件路径
③-c:将汇编文件生成二进制文件,得到一个xxx.o文件
④-o:指定生成文件的文件名
⑤-g:gdb调试的时候需要加
⑥-D:编译的时候指定一个宏(测试程序的时候用)
⑦-Wall:添加警告信息
⑧-On:优化代码,n为优化级别(1~3)
原文:https://www.cnblogs.com/czhdbk/p/14388611.html