a結尾的檔案是什麼檔案?與 lib結尾的檔案的區別是什麼

2022-05-24 01:00:02 字數 2661 閱讀 3796

1樓:金色潛鳥

.a is an archive of code: compiled but not linked.

you would link statically with it during your program's final link step.

(.a 是編譯了但尚未鏈結的 obj 檔案的 集合體。靜態鏈結可用它。)

.lib can be either the same as .a, or a magical so-called "import library":

a thin placeholder which causes you to require a .dll at runtime.

(.lib 可以就是 .a, 也可以是 所謂的 輸入庫,當使用 動態鏈結時,要用它, 動態鏈結得到的exe程式,執行時 還要用到 .dll ) .

2樓:風元素精靈

.a結尾是linux靜態庫檔案

.lib結尾應該是windows靜態庫檔案吧

.a檔案.o檔案和.so檔案有什麼區別?

3樓:茶蘼之花

o: 編譯的目標檔案 a: 靜態庫,其實就是把若干o檔案打了個包 so:

動態鏈結庫(共享庫)  lo: 使用libtool編譯出的目標檔案,其實就是在o檔案中新增了一些資訊  la: 使用libtool編譯出的庫檔案,其實是個文字檔案,記錄同名動態庫和靜態庫的相關資訊。

我們通常把一些公用函式製作成函式庫,供其它程式使用,函式庫分為靜態庫和動態庫兩種,靜態庫在程式編譯時會被連線到目標**中,程式執行時將不再需要該靜態庫,動態庫在程式編譯時並不會被連線到目標**中,而是在程式執行是才被載入,因此在程式執行時還需要動態庫存在,在建立函式庫前,我們先來準備舉例用的源程式,並將函式庫的源程式編譯成.o檔案。

4樓:平安夜快樂n4戥

.o 就相當於windows裡的obj檔案 .a 是好多個.o合在一起,用於靜態連線 .so 是shared object,用於動態連線的,和dll差不多

包含檔案、引用檔案和庫檔案的區別

5樓:匿名使用者

的本質區別,有一下幾點:

a, 位元組排序,乙個int型的資料在windows裡是由高位址存到低位址的4個位元組的(假設是32位機器),但是在某些unix伺服器,如aix,它的排序方式就相反的,所以當程式被編譯成低階語言(例如彙編)的時候,記憶體及cpu的處理就會截然相反

b, 字長,有些unix伺服器是64位的,但大多windows是32位,那麼定義乙個整形的時候就有用8個位元組和4個位元組的區別,字長不一樣,那麼執行起來用對記憶體的使用也自然就不一樣咯。

c,所謂的庫,也是由編譯器編譯出來的,在不同的os下,由同乙個**編譯出來的庫也會不一樣。

d,編譯器也各不相同,也會導致編譯出程式不完全相同。

e,所謂的呼叫,也就是將程式和庫一起打包,然後在找到庫裡面所定義的函式罷了

綜上,當乙個程式或者庫要從其他os搬到另乙個不同規格的os上的時候,一定要重新編譯一下草能確保程式跑起來不發生錯誤,求其原因也就是因為os的本質區別,相容的話,其實就是看os是否在規格上有沒有本質區別

二,庫檔案的編譯是單向的,所以無法取回原始碼,

.a庫的打包例: ar r libabc.a a.o b.o c.o

將a.o b.o c.o 合併打包成libabc.a。注意哦(.a一定要以lib開始.a結束哦)

win下我不是很在行,你說的lib大包應該沒錯。

三,我不是很清楚

希望對你有幫助,我2年工作的精華

dev c++目錄下lib中的那些.a檔案是做什麼用的?如何用?

6樓:匿名使用者

那是開發平台的配製檔案。和編寫程式沒有什麼直接關係!

以.h結尾的是什麼檔案?

7樓:大唐

c語言復和c++語言的標頭檔案制

我們一般在.h類的頭文bai件裡面只放入函式du宣告,巨集定義,函zhi數原型。

而具體的dao實現在.cpp檔案裡面

比如你在裡面看到的數學函式都只有宣告

具體實現在裡面

在編譯的時候,編譯器會自動載入和.h匹配的.cpp檔案。

linux中,a檔案與.so檔案有什麼關係嗎

8樓:匿名使用者

.a和.so檔案都是函式庫檔案。庫是一組預先編譯好的函式的集合,庫檔案的名字以lib開頭,隨後的部分指明這是什麼庫(例如c代表c語言庫,m代表數學庫)。

.a代表的是靜態函式庫,當同時執行多個程式並且都使用到同乙個函式庫的函式時,記憶體中就會有同一函式的多份副本,會消耗大量寶貴的記憶體。

.so是共享函式庫,可以克服.a函式庫的不足。當乙個程式使用共享函式庫時,程式本身不再包含函式**,而只是引用共享**,當實際呼叫時,共享庫才被載入到記憶體中。

.a檔案類似於windows下的.lib檔案,.so檔案類似於windows下面的.dll檔案,這樣就好理解了。

9樓:匿名使用者

.a是靜態庫,.so是共享庫。

.a類似win裡的.lib是連線到程式裡面的

.so類似win裡的.dll是程式直接呼叫的

FTP檔案是什麼檔案??什麼是FTP檔案?

簡單一點說 就是將檔案放在伺服器上的乙個ftp賬戶下 其他使用者可以用 ftp賬戶登陸伺服器 從而共享檔案。什麼是ftp檔案?ftp是檔案傳輸協議 安裝後自己的電腦就成為ftp伺服器 沒什麼嚴重後果 這樣就可以給網路上的其他使用者方便的共享檔案。winxp或者win2000系統就可以。把系統安裝盤放...

js檔案是什麼檔案, js是什麼檔案格式

js檔案就是網頁裡面的js檔案咯 一般用來做特效 比如記時表什麼的 js是什麼檔案格式 js shi shi jie shang zui hao de yu yan nb js字尾的是什麼檔案 html頁面關聯本地js檔案,它的路徑是什麼?10 src裡面寫路徑,相同資料夾下直接寫js名。版。不同資...

xml檔案怎麼開啟,xml檔案是什麼檔案,該怎麼開啟?

用記事本或都是ie都可以開啟.補充下.什麼是xml?xml是extensible markup language的簡寫,一種擴充套件性標識語言。這是標準的定義。那麼什麼是標誌語言,為什麼叫擴充套件性?已經讓人有些糊塗。我想我們這樣來理解會好一些 對html你已經非常熟悉了吧,它就是一種標記語言,記得...