gcc
选项
-E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面
-S 编译到汇编语言不进行汇编和链接
-c 编译到目标代码
-o 文件输出到 文件
-static 此选项对生成的文件采用静态链接
-g 生成调试信息。GNU 调试器可利用该信息。
-w 不生成任何警告信息。
-Wall 生成所有警告信息。
示例
预处理(进行宏替换)
gcc –E hello.c –o hello.i
编译(生成汇编)
gcc –S hello.i –o hello.s
汇编(生成机器可识别代码)
gcc –c hello.s –o hello.o
连接(生成可执行文件或库文件)
gcc hello.o –o hello
gdb
gdb binFile
//示例:(gdb)file main
调试命令
list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。
list/l 函数名:列出某个函数的源代码。
r或run:运行程序。
n 或 next:单条执行。
s或step:进入函数调用
break(b) 行号:在某一行设置断点
break 函数名:在某个函数开头设置断点
info break :查看断点信息。
退出调试
ctrl + d 或 quit
Makefile的编写