GCC,GDB,Makefile
编译器GCC的用法:
gcc 【选项】【文件名】【选项】【文件名】
总体的选项:
-E:对源文件进行预处理(包含头文件,宏等替换)
-S:对源文件进行编译。(汇编代码)
-c:对源文件进行编译或汇编
-o:输出目标文件。
调试选项:
-g :产生调试信息
优化选项:
O0:不进行优化
O1:对目标文件的性能进行优化
静态链接是指编译系统在链接阶段把程序的目标文件和所需的函数库文件链接在在一起,这样生成的文件就可以
在没有函数库的情况下运行,但这种方式可执行文件体积较大,但与你运行速度快。
动态链接是指编译系统在链接阶段并不把目标文件和函数库文件链接在一起,而是等到程序在运行过程中需要使用
时才链接函数库。没有库文件,体积小,但运行效率低一些
Makefile:
目标文件:依赖文件
命令
$(变量名) 支持自动推导 伪目标 (make clean) 文件查找(VPATH) cd 子目录 && $(Make)
条件判断 函数
Makefile的自动生成
GDB调试器:
编译时:gcc -g选项
l 查看源代码,10行为单位,再l再显示10行
设置断点:b 7
查看断点:info b
r 运行,在断点前停下来
p n查看变量值
c继续运行
s 单步执行 n不进入函数内部执行
Live together,or Die alone!