gcc命令
用法: gcc [选项] [文件名]
选项:
- -o filename:指定输出文件名称(含路径,可相对,可绝对)
- -c:只编译不链接,可生成目标文件
- -S:只编译不汇编,生成汇编代码
- -E:只进行预编译,不进行其他处理
- -g:在可执行文件中包含标准调试信息,如果要使用gdb调试,编译时必用此项才可
- -v:打印出编译器内部编译过程命令行信息和编译器的版本
- -std=name:指定所使用的编译标准,如c99等
- -l dir:在头文件的搜索路径列表中添加目录
- -ansi:支持符合ANSI标准的C程序
- -pedantic:允许列出ANSI C标准所列出的全部警告信息
- -w:关闭所有警告
-Wall:允许列出gcc提供的所有有用警告信息
-L dir:在库文件的搜索路径列表中添加dir目录
- -static:链接静态库
- -shared:表明使用共享库
学用命令:
1、编译.c生成可执行文件:
$ gcc -o hello_world hello_world.c
2、编译.c文件生成目录文件:
$ gcc -0 hello_world.o -c hello_world.c
3、链接.o文件生成可执行文件:
$ gcc -o hello_world hello_world.o
4、以c99标准编译.c文件:
$ gcc -std=c99 -o hello_world hello_world.c
5、编译时显示警告信息:
$ gcc -Wall -o hello_world hello_world.c
gdb命令
先决条件:可执行文件要包含标准调试信息,gcc编译一定是此种方式才可:
$ gcc -g [其他选项] [文件名]
使用方式:
$ gdb [可执行文件]
子命令:
- l(list):查看所载入的文件,后跟行号显示行号附近代码,分页显示,回车换页
- b(break):设置断点,后可跟行号或者函数名来设置断点,可设多个
- info b:查看设置的断点情况
- r(run):从第一行开始运行代码,可以r后面加行号
- p n:查看变量n的值
- n(next):单步运行下一步,不进函数
- s(steep):单步运行下一步,遇函数进函数
- c(continue):恢复程序的运行,执行剩下的代码
- quit:退出调试