生成特定格式文件
- -E 预处理: 预处理器的输出被送到标准输出而不是储存在文件里.
gcc -E test.c -o test.i //.i文件
- -S 编译: 产生汇编语言文件
gcc -S test.i -o test.s //.s文件
- -c 汇编: 编译为目标代码
gcc -c test.s -o test.o
- -o 链接:产生的可执行文件
gcc test.o -o test
代码优化
| 参数 | 含义 |
|---|---|
| -O | 主要进行跳转和延迟退栈两种优化 |
| -O0 | 表示不做优化 |
| -O1 | 为默认优化 |
| -O2 | 除了完成-O1的优化之外,还进行一些额外的调整工作,如指令调整等 |
| -O3 | 包括循环展开和其他一些与处理特性相关的优化工作 |
gcc -O3 test.c
调试信息
- -g和-pg 调试
| 参数 | 含义 | |
|---|---|---|
| -g | 产生能被 GNU 调试器使用的调试信息以便调试你的程序 | |
| -pg | 在编译好的程序里加入额外的代码。运行程序时, 产生 gprof用的剖析信息以显示你的程序的耗时情况。用“gprof execname gmon.out”命令打开 |
添加库和头文件
| 参数 | 含义 |
|---|---|
| -l | 用来指定程序要链接的库 |
| -I(大写i) | 添加头文件目录 |
| -L | 添加库文件目录 |

该博客详细介绍了GCC命令的使用,包括如何生成预处理、汇编、目标代码和可执行文件,以及代码优化和调试选项。内容涵盖了添加库和头文件,静态库与动态库的生成及调试,如ar命令创建静态库,nm查看库内容,以及ldd检查动态库依赖。同时,提到了处理警告信息的相关资源链接。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



