一、gdb调试
1、运用gdb调试的目标文件在编译是时候要加上 -g (Debug版本)
2、使用方法:gdb 要调试的文件
3、在gdb调试过程中使用的代码
功能 | 指令 |
---|---|
查看程序清单 | list 缩写 l |
程序运行 | run 缩写 r |
设置断点 | break 缩写 b |
打印值 | printf 缩写 p(在程序运行中才能打印) |
继续运行 | continue 缩写 c |
查看断点信息 | info break 缩写 i b |
删除断点 | delate 缩写 d 加上要删的第几个断点 |
逐过程进行 | next 缩写 n |
单步运行 | step 缩写 s |
结束当前函数 | finish 缩写 f |
帮助 | help 缩写 h |
监视 | watch 缩写 wa 要监视的变量 |
退出 | quit 缩写 q |
二、头文件
1、格式
#ifndef _文件名(大写)n //防止头文件重复定义
#define _文件名(大写)n
.
.
.
.
.
#endif //注释
2、项目规范
bin文件夹:所有可执行文件
include文件夹:所有头文件
src文件夹:所有.c文件
lib文件夹:所有库文件
三、静态库
1、优缺点:优点、速度较快,缺点、占用空间大
2、使用场合:对时间要求很高的场合
3、制作静态库
(1)把所有.c文件制作成.o文件
(2)使用ar rcs将所有.o文件生成静态库文件格式如下
ar rcs lib库名.a 所有.o文件
4、编译的时候gcc 包含的一些相关命令
(1) -L 库所在的目录
(2)l(小写的L) 包含要添加到程序中的库名(只要库名就可以了,如果制作的时候是以lib开头的话)
(3)I(大写的i) 指定头文件的路径
四、动态库(共享库)
1、优缺点:优点、占用空间小,缺点、速度较慢
2、制作动态库
(1)把所有.c文件制作成.o文件
gcc -c .c文件 -o .o文件 -fplc
(2)使用gcc -shared将所有.o文件生成动态库文件格式如下
gcc -shared -o lib库名.so 所有要编译的.o文件
3、ldd指令,查看使用的动态库
4、库名相同的静态库和动态库在同一目录下,默认用动态库