頭文件和庫函數的區別

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> 
程序運行時的語句在內存中的地址。   

二、搜索源代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章