Gcc
gnu binutils
一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。
gcc
- -g 设置为gdb可使用可执行文件
- -E 预处理
- -S 编译为汇编代码
- -c 编译为目标文件
- -o 输出的文件名称
gdb
- l 列出代码
- break+行号 设置断点
- break+函数
- info break 查看断点信息
- r 运行程序
- n 单步执行
- p 输出变量
- c 继续运行直到下一个断点
debug
函数运行时间与调用次数
gcc -o test test.c -g -pg
./test # 运行完后会生成gmon.out文件
gprof test # 实现依赖于unix信号量
行计数
gcc -o test test.c -fprofile-arcs -ftest-coverage
./test
gcov test # 生成.gcov文件