本节课我们学习了gdb的一些基础命令,了解了用gdb的方法逐步调试程序的过程,从中也发现了一些问题,比如自身编程能力非常有限,这对其学习产生了不小阻碍,需要不断练习和进步。
库文件:可以使用文件里面的函数和变量,但是看不见变量和函数功能实现
静态库是在执行程序之前(编译)就已经加入到执行代码中,成为执行程序的一部分来执行,后缀名:.a 执行效率高,生成的可执行文件占用更多内存,更容易部署
gcc -c add.c 生成add.o
ar rcs 库名(libadd.a) add.o
cp libadd.a/lib
gcc main.c -ladd -L.
动态库是在执行程序启动时加载到执行代码中,后缀名:.so 更容易升级,占用内存小,不容易部署,执行效率低
创建: gcc -shared -fPIC -o 库名.so 源文件.c
使用:gcc 源文件.c./库名.so -o 可执行文件名
gdb
gcc test.c -o test -g生成可调试文件
gdb test进入调试状态
q 退出
l 查看代码,显示行编号list
b (行数)相应行数打下断点breakpoint
r 运行程序run
S或者n 按步调试,s可以进入调用函数内部运行,而n不会进入函数内部运行step、next
info b查看断点个数
p查看值print