Delphi編譯/鏈接過程


下面展示了Delphi是怎樣編譯源文件,並且把它們鏈接起來,最終形成可執行文件。

0061

當Delphi編譯項目(Project)時,將編譯項目源文件、窗體單元和其他相關單元,在這個過程中將會發生好幾件事情:

首先,Object Pascal編譯器把項目單元編譯為二進制對象文件,然后資源編輯器將把諸如程序圖標、窗體文件等資源編譯成二進制資源文件,接着鏈接開始起作用;鏈接器根據編譯器產生的二進制文件,依項目需要增加一些庫文件,並把這些文件綜合在一起產生最終的可執行文件。

 

編譯、創建和鏈接

每當點擊Run按鈕時,Delphi都會編譯和鏈接程序,但它只編譯改動過的單元。Delphi能知道哪個個文件已改動,哪個文件沒有改到。

絕大部分時間中,我們都想看一看改變后的程序運行結果,在這種情況下,就需要點擊Run按鈕,程序將被編譯、鏈接和執行。但有時候可能不想運行程序,比如只想編譯程序,看一看有沒有什么錯誤。

當默認創建一個Application時(工程文件名DRP默認為Project1),在Delphi的主菜單Project下,則有以下幾個菜單選項:

0075

1、Syntax check Project1 選項,它能讓Delphi編譯工程,並且報出任何錯誤和警告,這時檢查代碼錯誤最快的方法,Delphi只編譯工程,而不執行鏈接,Syntax check選項的目的就是盡快檢查代碼的語法錯誤,因為鏈接階段需要占額外的時間,Syntax check忽略了這一步。界面如下:

0076

2、Compile Project1 選項,就像Syntax check一樣,它用來編譯從最近一次編譯后改動過的任何單元。它需要執行鏈接,因此比Syntax check 選項所占的時間稍長一點,當需要只編譯和鏈接程序而不運行時就可以用Compile 選項。界面如下:

0077

默認情況下,該Compile選項不會顯示編譯狀態對話框,通過主菜單【Tools | Environment Option】對話框中打開“Preferences”選項卡,在Compiling and running組合框中勾選“Show compiler progress”選項即可打開編譯狀態對話框,如下:

0079

Delphi編譯工程的速度非常快,故一般不需要編譯狀態對話框,實際上,編譯狀態對話框增加了編譯時間,因為編譯狀態對話框中顯示信息是占用時間的。

3、Build project1 選項,占的時間最長,這個選項編譯工程中的每一個單元,不管這個單元是否有改動,當編譯完所有單元后,Delphi鏈接整個工程,並生成Project1.exe可執行文件。

不管選擇哪種方式編譯工程,如果發現了錯誤,Code Editor 將會出現在頂級窗口,並且Code Editor 底部的信息窗口將會顯示錯誤和警告清單。Code Editor 會把第一處出錯的代碼行加亮,當成功進行語法檢查、編譯、鏈接和創建后,就可以通過選擇Run按鈕來運行程序。

編譯並建立其他Delphi程序

在Delphi中,大部分情況都是編寫基於VCL的應用程序。但有時也要編寫其他類型的應用程序。點擊主菜單【File | New | Other..】可以看到Delphi支持的其他類型應用程序,如下:

0080

DLL Wizard,將創建動態鏈接庫(DLL)

Console Application,Win32控制台應用程序是一種32位程序,它在Windows的DOS模式下運行。任何不需要圖形接口的應用程序基本上都適合控制台應用程序。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM