动静态库
函数库一般分为动态库与静态库两种。
.a结尾的是静态库。
.so结尾的是动态库。
ldd 文件名:查看文件所依赖的库
库名称:去掉lib与结尾.文件后为什么库,如 libc.so 为c库。
静态库文件较大,不用依赖库;动态库文件较少,需要依赖库。
gdb
程序的发布有两种,debug模式和release模式。
Linux中gcc/g++出来的二进制程序,默认是release模式。
要使用gdb调试,必须在生成二进制程序的时候加上-g。
调试:gdb sum
- list/l行号:显示binFile源代码,接着上次的位置往下列,每次列10行;
- list/l函数名:列出某个函数的源代码;
- r或run:运行程序;
- n或next:单挑执行;
- s或step:进入函数调用;
- break(b)+行号:设置断点;
- break+函数名:在某个函数开头设置断点;
- info break:查看断点信息;
- finish:执行到当前函数返回,然后停下来等待命令;
- display:长打印显示;
- p:打印变量值;
- continue:从当前位置开始连续而非单步执行程序;
- d 断点号:删除断点;
- until 行号:跳至行号行;
- quit:退出gdb。