C 中的標頭檔案和庫有什麼區別和聯絡呢

2022-02-25 01:13:48 字數 4106 閱讀 4683

1樓:翔子菊子

簡單理解標頭檔案就是讓你的**知道哪些東西是存在的,你是可以使用的。所以使用任何自定義、系統的函式、類等,都必須先包含標頭檔案,否則編譯器就告訴你***不存在。就是這個意思。

庫的含義就是在標頭檔案中宣告的那些內容對應的實現是怎麼樣的。這些內容對客戶是不需要可見的,只是在程式編譯的時候,連結到客戶的**中即可,在執行的時候會載入到客戶的程序中。

換句話說,庫裡邊的內容是程式執行的關鍵。

2樓:

個人認為標頭檔案就是庫提供給使用者的介面,使用者通過呼叫標頭檔案裡宣告的函式介面,進而呼叫庫

3樓:匿名使用者

庫檔案:是c++已經封裝好的一些基本演算法功能。你只需引入相應庫檔案的標頭檔案,呼叫庫檔案的函式介面就可以實現相應的功能。

這就像你引入iostream.h這個標頭檔案,就可以呼叫其標準庫std下的cout函式進行輸出一樣。

標頭檔案:你呼叫庫檔案裡的函式就的調入相應的標頭檔案(雖然標準c++裡取消了.h,多了using namespace).而且標頭檔案你也可以自己定義。

4樓:匿名使用者

庫檔案通過標頭檔案向外匯出介面。使用者通過標頭檔案找到庫檔案中

函式實現的**從而把這段**連結到使用者程式中去。

c++中原始檔與標頭檔案有哪些不同點與聯絡?

c++中庫檔案和標頭檔案有什麼區別呀?

5樓:匿名使用者

庫檔案:是c++已經封裝好的一些基本演算法功能。你只需引入相應庫檔案的標頭檔案,呼叫庫檔案的函式介面就可以實現相應的功能。

這就像你引入iostream.h這個標頭檔案,就可以呼叫其標準庫std下的cout函式進行輸出一樣。

標頭檔案:你呼叫庫檔案裡的函式就的調入相應的標頭檔案(雖然標準c++裡取消了.h,多了using namespace).而且標頭檔案你也可以自己定義。

c++中標頭檔案使用""與<>的區別

6樓:一騎當後

c++中標頭檔案二者區別如下:

1、使用「」是搜尋所有目錄。

2、使用<>是搜尋當前目錄。

正常情況下,自行定義的標頭檔案應該用"",因為這些檔案放在工程目錄(也就是編譯器的當前目錄)下,而不是放在公共標頭檔案目錄下,如果用<>則找不到標頭檔案。

而系統提供的標頭檔案,比如庫函式的標頭檔案,可以用<>。

7樓:匿名使用者

<>是使用標準標頭檔案

""是使用自己的標頭檔案,如果找不到就到標準標頭檔案去找,還找不到就報錯

8樓:幽蘭一草

基本問題哦。

include<>表示在標準庫裡面找,可以不加絕對路徑)

include「"表示自定義檔案標註,需要加路徑。絕對或相對都行。

9樓:匿名使用者

""這個要寫標頭檔案的字尾名,不用加using namespace std;它引用的是""裡的檔案內容,比如你自己建立的檔案一定要用這個

<>這個不用寫字尾名,但要加using namespace std;它引用的是系統標頭檔案,預處理

10樓:匿名使用者

include表示在標準庫裡面找(不用加絕對路徑)

include"..\xx.h"表示在指定檔案中找(需要加路徑(絕對或相對都行),本例是隻在本級目錄的上一級查詢xx.h)

11樓:匿名使用者

區別為:

用前者的話在編譯時系統會在使用者自定義的庫檔案裡去找,如果找不到再到系統庫檔案裡找。後者就採用相反順序。

在你編寫程式的時候你就要注意到是用系統自帶的還是使用者自定義的,這樣有利於節省時間。其他的沒有什麼區別了。

希望對你有幫助!這個問題印象有點深,老師講過幾次哈

c++中的標頭檔案、庫檔案、目標檔案都是什麼意思啊,有什麼區別?

12樓:詹耕順儲綾

標頭檔案,就是以#include開頭後面包含的東東,這個檔案是實際存在的,你的程式中包含這個標頭檔案,那麼在編譯的時候就會把該標頭檔案的所有內容編譯進你的程式(有編譯預處理的情況例外);比如有#include

,在cmath中有sin()這個函式的實現,那麼你可以在程式中呼叫sin()函式,如果不包含cmath,那麼編譯就會出錯;

庫檔案分幾種,一種是資源型別的,就是存放的東西,供外部呼叫的沒有函式,只有變數或類的實體;另一種是有簡單的函式供外部呼叫;還有一種,也是用的比較多的,就是包含一個完整的模組,緊提供一個外部呼叫的介面,當外部呼叫該介面就開始執行這個模組,外部幾乎就處於休眠狀態;

目標檔案就是編譯過程中產生的,連結起來生成可執行檔案的。

c++標頭檔案加h和不加h有什麼區別??

13樓:影者東昇

iostream是c++的標頭檔案,iostream.h是c的標頭檔案,即標準的c++標頭檔案沒有.h副檔名,將以前的c的標頭檔案轉化為c++的標頭檔案後,有時加上c的字首表示來自於c,例如cmath就是由math.

h變來的。 iostream.h裡面定義的所有類以及物件都是在全域性空間裡,所以你可以直接用cout 但在iostream裡面,它所定義的東西都在名字空間std裡面,所以你必須加上 using namespace std才能使用cout 一般一個c++的老的帶「.

h」副檔名的庫檔案,比如iostream.h,在新標準後的標準庫中都有一個不帶「.h」副檔名的相對應,區別除了後者的好多改進之外,還有一點就是後者的東東都塞進了「std」名字空間中。

但唯獨string特別。 問題在於c++要相容c的標準庫,而c的標準庫裡碰巧也已經有一個名字叫做「string.h」的標頭檔案,包含一些常用的c字串處理函式,比如strcmp。

這個標頭檔案跟c++的string類半點關係也沒有,所以並非的「升級版本」,他們是毫無關係的兩個標頭檔案。

如果是自己寫的標頭檔案,是必須加.h的。

14樓:匿名使用者

有木有h都無所謂,只要include這個檔名,確實存在就行。

比如經常寫的#include ,那麼系統的包含路徑下,是確實有iostream這個檔案存在的。

.h只是一個慣例,提示這是個標頭檔案,並非強制。

c/c++標頭檔案和庫檔案的區別和聯絡是什麼?

15樓:操場的哥

標頭檔案中有函式的申明,庫檔案實現函式的定義。

比如,printf函式。使用時應包括stdio.h,開啟stdio.

h你只能看到,printf這 個函式的申明,卻看不到printf具體是怎麼實現的,而函式的實現在相應的c庫 中。

而庫檔案一般是以二進位制形式而不是c原始檔形式提供給使用者使用的。

程式 中包括了stdio.h這個標頭檔案。連結器就能根據頭件中的資訊找到printf這個函 數的實現並連結進這個程式**段裡。

總結起來就是,庫檔案通過標頭檔案向外匯出介面。使用者通過標頭檔案找到庫檔案中 函式實現的**從而把這段**連結到使用者程式中去。

16樓:風若遠去何人留

標頭檔案是指在c/c++程式設計中,可以寫在程式裡面,以#include 的形式包含的檔案。對於c語言,一般以.h作為副檔名;對於c++,可以沒有副檔名,也可以以.

h或者.hpp做副檔名。規範中對標頭檔案的副檔名並沒有做約定。

庫檔案是將一系列的原始檔進行編譯打包,形成的二進位制檔案包,其中封裝著函式介面,在程式設計中可以由其它原始檔呼叫。庫檔案可分為靜態庫和動態庫兩種。

二者的區別為:

1 標頭檔案是文字檔案,是可供閱讀的;庫檔案是二進位制檔案,不可直接閱讀。

2 標頭檔案在編譯中使用;庫檔案在連結中使用。

3 標頭檔案中是函式或定義的宣告,及少量行內函數的使用,一般不包含非靜態函式實現;庫檔案中包含函式的實現。

4 標頭檔案是手動編寫的,庫檔案是編譯生成的。

二者也有聯絡:

1 雖然沒有規定呼叫庫函式必須引用標頭檔案,但一般約定,當呼叫庫函式的時候需要引用介面函式所在的標頭檔案。

2 一個庫檔案均有一組標頭檔案與其對應。

3 庫檔案和對應標頭檔案的作者應為同一個。

4 作者必須保證標頭檔案中所宣告的函式型別及引數列表,與庫檔案中的實現是相同的。

c 和c有什麼區別,c 和c 的引用有什麼區別嗎

c 只能在 這個框架下開發 c 就是一定了.基本上萬能 c 專門用來開發asp.的語言 c 可以開發很多其他的東西 比如桌面的程式啊什麼的 c是c 的老子 c 是c 的老子 三者是三種程式語言,從時間上來說先有c語言 c c c語言雖然最古老,但是它在嵌入式 驅動程式方面有廣泛的應用。目前大部分的應...

什麼是檔案?什麼是資料夾?兩者有什麼區別和聯絡

1 檔案 計算機檔案屬於檔案的一種,與普通檔案載體不同,計算機檔案是以計算機硬碟為載體儲存在計算機上的資訊集合。檔案可以是文字文件 程式等等。檔案通常具有三個字母的副檔名,用於指示檔案型別 例如,檔案常常以 jpeg 格式儲存並且副檔名為 jpg 2 資料夾 一種是計算機磁碟空間裡面為了分類儲存電子...

C 和C 有什麼區別?

把他們的結合起來講。c是程序導向的,c 是物件導向的。坐沙發的朋友 我不同意你的看法,為什麼學生要先c 呢?c 現在只做底層開發,不做企業級應用。我建議直接去學c c 對現在初學者沒多大作用,只會加大初學者的壓力,c 裡的指標會把初學者搞的很暈而到最後他們只能做一下暸解卻不能用到實際開發中。簡單的說...