1樓:堵曼冬
到目前為止我還未見過副檔名是dill的檔案
到是有dll檔案!這個動態鏈結庫檔案,這個檔案可以用c++、delphi等編寫!
dll字尾的檔案是什麼檔案
2樓:
它是dynamic link library 的縮寫形式,dll 是乙個包含可由多個程式同時使用的**和資料的庫,dll不是可執行檔案。動態鏈結提供了一種方法,使程序可以呼叫不屬於其可執行**的函式。函式的可執行**位於乙個 dll 中,該 dll 包含乙個或多個已被編譯、鏈結並與使用它們的程序分開儲存的函式。
dll 還有助於共享資料和資源。多個應用程式可同時訪問記憶體中單個dll 副本的內容。dll 是乙個包含可由多個程式同時使用的**和資料的庫。
例如,在 windows 作業系統中,comdlg32 dll 執行與對話方塊有關的常見函式。因此,每個程式都可以使用該 dll 中包含的功能來實現「開啟」對話方塊。這有助於促進**重用和記憶體的有效使用。
通過使用 dll,程式可以實現模組化,由相對獨立的元件組成。例如,乙個計帳程式可以按模組來銷售。可以在執行時將各個模組載入到主程式中(如果安裝了相應模組)。
因為模組是彼此獨立的,所以程式的載入速度更快,而且模組只在相應的功能被請求時才載入。
模組是什麼?是擴充套件名為 .dll 的檔案嗎?
3樓:手機使用者
擴充套件名為dll的檔案是動態鏈結庫函式,它的定義如下: 動態鏈結庫的概念 動態鏈結庫(dynamic link library,縮寫為dll)是乙個可以被其它應用程式共享的程式模組,其中封裝了一些可以被共享的例程和資源。動態鏈結庫檔案的副檔名一般是dll,也有可能是drv、sys和fon,它和可執行檔案(exe)非常類似,區別在於dll中雖然包含了可執行**卻不能單獨執行,而應由windows應用程式直接或間接呼叫。
動態鏈結是相對於靜態鏈結而言的。所謂靜態鏈結是指把要呼叫的函式或者過程鏈結到可執行檔案中,成為可執行檔案的一部分。換句話說,函式和過程的**就在程式的exe檔案中,該檔案包含了執行時所需的全部**。
當多個程式都呼叫相同函式時,記憶體中就會存在這個函式的多個拷貝,這樣就浪費了寶貴的記憶體資源。而動態鏈結所呼叫的函式**並沒有被拷貝到應用程式的可執行檔案中去,而是僅僅在其中加入了所呼叫函式的描述資訊(往往是一些重定位資訊)。僅當應用程式被裝入記憶體開始執行時,在windows的管理下,才在應用程式與相應的dll之間建立鏈結關係。
當要執行所呼叫dll中的函式時,根據鏈結產生的重定位資訊,windows才轉去執行dll中相應的函式**。 一般情況下,如果乙個應用程式使用了動態鏈結庫,win32系統保證記憶體中只有dll的乙份複製品,這是通過記憶體對映檔案實現的。dll首先被調入win32系統的全域性堆疊,然後對映到呼叫這個dll的程序位址空間。
在win32系統中,每個程序擁有自己的32位線性位址空間,如果乙個dll被多個程序呼叫,每個程序都會收到該dll的乙份映像。與16位windows不同,在win32中dll可以看作是每個程序自己的**。 二、動態鏈結庫的優點 1. 共享**、資源和資料 使用dll的主要目的就是為了共享**,dll的**可以被所有的windows應用程式共享。
2. 隱藏實現的細節 dll中的例程可以被應?c採納哦
4樓:伯振薔
模組就是元件,指作業系統中的某個組成程式單元。 dll檔案即動態鏈結庫檔案,是一種可執行檔案,它允許程式共享執行特殊任務所必需的**和其他資源。
字尾名是.dll的是什麼檔案
5樓:q殘燭
是鏈結庫檔案,把程式和各檔案連線起來的檔案,是軟體的重要檔案。
字尾名為.dll的檔案用什麼方式開啟
6樓:匿名使用者
dll型別的檔案為動態鏈結庫檔案,需要編輯時可以通過ultraedit等支援16進製制編輯的工具開啟並修改,但其內容為二進位制編碼,無法直接理解。
dll(英文全名dynamic link library)檔案即動態鏈結庫檔案,又稱「應用程式拓展」,是軟體檔案型別,可以將其理解為實現一定功用的功能模組。在windows軟體開發中,應用程式一般不會是單獨乙個完整的可執行檔案。除了主程式本身,大多數功能都會被分割成一些相對獨立的動態鏈結庫檔案,放置於系統中。
當系統中執行的程式要求實現一定的功能時,系統會自動呼叫相應的dll檔案實現其包含的功能。乙個應用程式可使用多個dll檔案,乙個dll檔案也可能被不同的應用程式使用,這樣可以減輕程式開發的強度,共享資源。
7樓:
一般來說,dll 是一種磁碟檔案,以.dll、.drv、.
fon、.sys 和許多以 .exe 為副檔名的系統檔案都可以是 dll。
它由全域性資料、服務函式和資源組成,在執行時被系統載入到呼叫程序的虛擬空間中,成為呼叫程序的一部分。如果與其它 dll 之間沒有衝突,該檔案通常對映到程序虛擬空間的同一位址上。dll 模組中包含各種匯出函式,用於向外界提供服務。
dll 可以有自己的資料段,但沒有自己的堆疊,使用與呼叫它的應用程式相同的堆疊模式;乙個 dll 在記憶體中只有乙個例項;dll 實現了**封裝性;dll 的編制與具體的程式語言及編譯器無關。
dll 是什麼檔案的副檔名,用什麼軟體編寫
8樓:匿名使用者
動態鏈結庫,要載入到軟體上才能用。
一般的程式語言都可以編寫吧,我用的c語言系列的。
附:dll檔案(dynamic linkable library 即動態鏈結庫檔案),是一種不能單獨執行的檔案,它允許程式共享執行特殊任務所必需的**和其他資源
比較大的應用程式都由很多模組組成,這些模組分別完成相對獨立的功能,它們彼此協作來完成整個軟體系統的工作。可能存在一些模組的功能較為通用,在構造其它軟體系統時仍會被使用。在構造軟體系統時,如果將所有模組的源**都靜態編譯到整個應用程式 exe 檔案中,會產生一些問題:
乙個缺點是增加了應用程式的大小,它會占用更多的磁碟空間,程式執行時也會消耗較大的記憶體空間,造成系統資源的浪費;另乙個缺點是,在編寫大的 exe 程式時,在每次修改重建時都必須調整編譯所有源**,增加了編譯過程的複雜性,也不利於階段性的單元測試。
windows 系統平台上提供了一種完全不同的較有效的程式設計和執行環境,你可以將獨立的程式模組建立為較小的 dll 檔案,並可對它們單獨編譯和測試。在執行時,只有當 exe 程式確實要呼叫這些 dll 模組的情況下,系統才會將它們裝載到記憶體空間中。這種方式不僅減少了 exe 檔案的大小和對記憶體空間的需求,而且使這些 dll 模組可以同時被多個應用程式使用。
windows 自己就將一些主要的系統功能以 dll 模組的形式實現。
一般來說,dll 是一種磁碟檔案,以.dll、.drv、.
fon、.sys 和許多以 .exe 為副檔名的系統檔案都可以是 dll。
它由全域性資料、服務函式和資源組成,在執行時被系統載入到呼叫程序的虛擬空間中,成為呼叫程序的一部分。如果與其它 dll 之間沒有衝突,該檔案通常對映到程序虛擬空間的同一位址上。dll 模組中包含各種匯出函式,用於向外界提供服務。
dll 可以有自己的資料段,但沒有自己的堆疊,使用與呼叫它的應用程式相同的堆疊模式;乙個 dll 在記憶體中只有乙個例項;dll 實現了**封裝性;dll 的編制與具體的程式語言及編譯器無關。
在 win32 環境中,每個程序都複製了自己的讀/寫全域性變數。如果想要與其它程序共享記憶體,必須使用記憶體對映檔案或者宣告乙個共享資料段。dll 模組需要的堆疊記憶體都是從執行程序的堆疊中分配出來的。
windows 在載入 dll 模組時將程序函式呼叫與 dll 檔案的匯出函式相匹配。windows 作業系統對 dll 的操作僅僅是把 dll 對映到需要它的程序的虛擬位址空間裡去。dll 函式中的**所建立的任何物件(包括變數)都歸呼叫它的執行緒或程序所有。
呼叫方式:
1、靜態呼叫方式:由編譯系統完成對 dll 的載入和應用程式結束時 dll 解除安裝的編碼(如還有其它程式使用該 dll,則 windows 對 dll 的應用記錄減1,直到所有相關程式都結束對該 dll 的使用時才釋放它,簡單實用,但不夠靈活,只能滿足一般要求。
隱式的呼叫:需要把產生動態連線庫時產生的 .lib 檔案加入到應用程式的工程中,想使用 dll 中的函式時,只須說明一下。
隱式呼叫不需要呼叫 loadlibrary() 和 freelibrary()。程式設計師在建立乙個 dll 檔案時,鏈結程式會自動生成乙個與之對應的 lib 匯入檔案。該檔案包含了每乙個 dll 匯出函式的符號名和可選的標識號,但是並不含有實際的**。
lib 檔案作為 dll 的替代檔案被編譯到應用程式專案中。
當程式設計師通過靜態鏈結方式編譯生成應用程式時,應用程式中的呼叫函式與 lib 檔案中匯出符號相匹配,這些符號或標識號進入到生成的 exe 檔案中。lib 檔案中也包含了對應的 dl l檔名(但不是完全的路徑名),鏈結程式將其儲存在 exe 檔案內部。
當應用程式執行過程中需要載入 dll 檔案時,windows 根據這些資訊發現並載入 dll,然後通過符號名或標識號實現對 dll 函式的動態鏈結。所有被應用程式呼叫的 dll 檔案都會在應用程式 exe 檔案載入時被載入在到記憶體中。可執行程式鏈結到乙個包含 dll 輸出函式資訊的輸入庫檔案(.
lib檔案)。作業系統在載入使用可執行程式時載入 dll。可執行程式直接通過函式名呼叫 dll 的輸出函式,呼叫方法和程式內部其 它的函式是一樣的。
2、動態呼叫方式:是由程式設計者用 api 函式載入和解除安裝 dll 來達到呼叫 dll 的目的,使用上較複雜,但能更加有效地使用記憶體,是編制大型應用程式時的重要方式。
顯式的呼叫:
是指在應用程式中用 loadlibrary 或 mfc 提供的 afxloadlibrary 顯式的將自己所做的動態連線庫調進來,動態連線庫的檔名即是上面兩個函式的引數,再用 getprocaddress() 獲取想要引入的函式。自此,你就可以象使用如同本應用程式自定義的函式一樣來呼叫此引入函式了。在應用程式退出之前,應該用 freelibrary 或 mfc 提供的 afxfreelibrary 釋放動態連線庫。
直接呼叫 win32 的 loadlibary 函式,並指定 dll 的路徑作為引數。loadlibary 返回 hinstance 引數,應用程式在呼叫 getprocaddress 函式時使用這一引數。getprocaddress 函式將符號名或標識號轉換為 dll 內部的位址。
程式設計師可以決定 dll 檔案何時載入或不載入,顯式鏈結在執行時決定載入哪個 dll 檔案。使用 dll 的程式在使用之前必須載入(loadlibrary)載入dll從而得到乙個dll模組的控制代碼,然後呼叫 getprocaddress 函式得到輸出函式的指標,在退出之前必須解除安裝dll(freelibrary)。
正因為dll 有占用記憶體小,好編輯等的特點有很多電腦病毒都是dll格式檔案。但不能單獨執行。
動態鏈結庫通常都不能直接執行,也不能接收訊息。它們是一些獨立的檔案,其中包含能被可執行程式或其它dll呼叫來完成某項工作的函式。只有在其它模組呼叫動態鏈結庫中的函式時,它才發揮作用。
檔案的副檔名是什麼,Word檔案的副檔名是什麼
word文件的字尾有好復幾個,一制般我們使用最多的是兩種字尾 doc和.docx doc是word 97 word 2003的通用文件格式。docx是word 2007及其以後版本 word 2010,word 2013 的文件格式。當然,word 2007也相容word 97 word 2003的...
檔案的副檔名通常表示是什麼,乙個檔案的副檔名通常表示是什麼
乙個檔案的副檔名通常表示檔案的型別。檔案的型別有以下幾種 1 rar rar是一種專利檔案格式,用於資料壓縮與歸檔打包,rar通常情況比zip壓縮比高,但壓縮 解壓縮速度較慢。分卷壓縮 壓縮後分割為多個檔案。2 html 超文字標記語言 hyper text markup language 標準通用...
excel中,工作簿檔案的副檔名是什麼
天涯何處無方程 excle 97 2003的是 xls 2007以上的版本是 xlsx 副檔名 filename extension 也稱為檔案的字尾名,是作業系統用來標誌檔案型別的一種機制。我們經常接觸的副檔名有 doc word文件,用微軟的word等軟體開啟 wps wps文件,用金山公司的w...