四个过程: 预编译(E)、编译(S)、汇编(c)、链接(无)。 预处理:头文件,宏的展开;展开替换条件(#ifdef... ),删除注释 编译: 检查语法规范,翻译为汇编语言 汇编:翻译成机器语言。 链接:数据段合并,数据地址回填。 -l: 指定头文件所在位置 -c: 只做预处理,编译,汇编得到二进制文件 -g : 编译时添加调试语句。主要支持gdb。 -Wall:显示所有警告信息。 -D:向程序中“动态”注册宏定义。 例如:gcc hello.c -D HELLO