.DCU
(Delphi編譯的單元)文件是在編譯源文件和鏈接可執行文件之間使用的二進制文件。它們由編譯器創建,在內存中結合在一起,並與啓動代碼結合,並由鏈接器放入實際的可執行文件(.EXE/.DLL/.BPL)中。
.DCU
文件不是.DLL
(動態鏈接庫)文件,儘管Delphi可以將一個或多個.dcu
文件和鏈接組合到一個.DLL
。
大多數時候.dcu
文件的數量是毫無意義的;它是您需要關注的.pas源文件,並且您創建的每個源單位都有一個。如果源文件發生更改,則會根據需要重新創建它們,或者如果源未針對鏈接速度更改,則會在編譯狀態下使用它們。在您的使用條款中,每.pas
文件總是會有一個.dcu
文件,另外還有一個用於編譯自己的源文件。
當您將組件安裝到IDE中的組件面板中時,.dcu被放置在.BPL
(Borland Package Library)中,該DLL是一種特殊類型的DLL;然後將BPL或包文件作爲執行代碼加載到IDE中。這是按鈕在設計時是如何在窗體上直觀顯示的;在BPL中執行的代碼實際上創建了一個按鈕,並允許它在Form Editor中顯示和操作。
當你建立一個可執行文件(而不要使用運行時包)中,DCU文件鏈接到您的應用程序,並且一旦創建可執行文件(.exe)文件既不需要任何原始.pas
文件或.dcu
更長的時間。 (直到,也就是說,您需要對可執行文件進行更改,在這種情況下.pas
文件被修改,編譯器會創建一個新的.dcu
,並且鏈接器會將它們組合起來以創建一個新的.exe文件。)
不介意dcus。將鼠標懸停在您的問題上的「dcu」標籤上,以查明它是什麼。 –
所以你說這些文件是無用的?當我想在另一個項目中使用我的自定義組件時會發生什麼?我以爲我需要那個dcu文件。 –
它們不是無用的,編譯器需要/產生它們。您將組件安裝到*包*([link](http://docwiki.embarcadero.com/RADStudio/XE3/en/Introduction_to_component_creation_Index))。 –