头文件和库函数的区别

1.头文件中有函数的申明,库文件实现函数的定义。

  比如,printf函数。使用时应包括stdio.h,打开stdio.h你只能看到,printf这

  个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库
  
  中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序
  
  中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函

  数的实现并链接进这个程序代码段里。

  总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中

  函数实现的代码从而把这段代码链接到用户程序中去


2.头文件中的“”和<>de 区别

<>是使用标准头文件


""是使用自己的头文件,如果找不到就到标准头文件去找,还找不到就报错

3

显示源代码

GDB 可以打印出所调试程序的源代码,当然,在程序编译时一定要加上-g的参数,把源程序信息编译到执行文件中。不然就看不到源程序了。当程序停下来以后,GDB会报告程序停在了那个文件的第几行上。你可以用list命令来打印程序的源代码。还是来看一看查看源代码的GDB命令吧。    
    list <linenum>         
显示程序第linenum行的周围的源程序。    
    list <function>         
显示函数名为function的函数的源程序。        
    list        
显示当前行后面的源程序。    
    list -         
显示当前行前面的源程序。

一般是打印当前行的上5行和下5行,如果显示函数是是上2行下8行,默认是10行,当然,你也可以定制显示的范围,使用下面命令可以设置一次显示源程序的行数。

set listsize <count>        设置一次显示源代码的行数。        
    show listsize       
查看当前listsize的设置。       

list命令还有下面的用法:

list <first>, <last>        显示从first行到last行之间的源代码。    
    list , <last>        
显示从当前行到last行之间的源代码。        
    list +         
往后显示源代码。       

一般来说在list后面可以跟以下这们的参数:

<linenum>   行号。
    <+offset>   
当前行号的正偏移量。
    <-offset>   
当前行号的负偏移量。
    <filename:linenum> 
哪个文件的哪一行。
    <function> 
函数名。
    <filename:function> 
哪个文件中的哪个函数。
    <*address> 
程序运行时的语句在内存中的地址。   

二、搜索源代码

  • 16
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值