2017.4.13

来源:互联网 发布:剑灵火影捏脸数据 编辑:程序博客网 时间:2024/06/05 04:59

本节课我们学习了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不会进入函数内部运行stepnext

info b查看断点个数

p查看值print

0 0