1 gcc工作流程
预处理
--E
- 宏替换
- 头文件展开
- 注释去掉
- xxx.c -> xxx.i (还是c文件)
编译
--S
xxx.i -> xxx.s (汇编文件)
汇编
-c
xxx.s -> xxx.o (二进制文件)
链接
xxx.o -> xxx (可执行)
几点:
编译最费时间
并不是四步都是gcc做的, gcc只编译, 其余的是调用其它的处理器完成的
若不设置名字, 则最后输出 a.out
2 gcc常用参数
-v/--version
版本信息-I 路径
编译时指定自定义头文件路径gcc -I./include -o hello
-c
- 将汇编文件生成二进制文件**
hello.o
file hello.o
file命令用于辨识文件类型
- 将汇编文件生成二进制文件**
-o
指定生成的文件名-g
gdb调试-D DEBUG(宏名)
编译时指定一个宏, 测试程序时-Wall
显示警告信息-On
优化代码, n代表级别[1,2,3]