源** —> 編譯器 —> 目標** —> 鏈結程式 —> 可執行**
編譯源**,將源**翻譯成機器語言,包含了翻譯後的程式的檔案就是目標**。
鏈結是將目標**同使用的函式的目標**以及一些標準的啟動**(startup code)組合起來,生成程式的執行階段版本。
包含最終產品的檔案被稱為可執行**
1、unix編譯和鏈結
使用cc命令來編譯程式。名稱採用大寫字母,這樣可以將它與標準unix c 編譯器cc分開來。cc編譯器是命令列編譯器,這意味著需要在unix命令列上輸入編譯命令。
例如要編譯c++源**檔案spiffy.c,則應在unix下輸入:
cc spiffy.c
如果一切正確,編譯器生成乙個擴充套件名為o的目標**檔案。在這個例子中,編譯器將生成檔案spiffy.o
接下來,編譯器自動將目標**檔案傳遞給系統鏈結程式,該程式將**與庫**結合起來,生成乙個可執行檔案。在預設情況下,可執行檔案為a.out。 如果只使用乙個原始檔,鏈結程式還將刪除spiffy.o檔案,因為這個檔案不需要了。
輸入可執行檔案的檔名即可執行該檔案,a.out
如果編譯新程式,新的可執行檔案a.out將覆蓋已有的a.out,這樣有利於降低儲存需求。
* 同時編譯多個源**檔案,輸入命令cc my.c precious.c
* 如果修改了my.c檔案,可用以下命令重新編譯cc my.c precious.o,這將重新編譯my.c 檔案,並將它與前面編譯的precious.o檔案鏈結起來。
2、linux編譯和鏈結
linux系統最常用的編譯器是g++,g++編譯器的工作方式很像標準unix編譯器。例如,下面的命令將生成可執行檔案a.out
g++ spiffy.cxx
要編譯多個原始檔,只需將它們全部放到命令列中即可: g++ my.cxx precious.cxx
這將生成乙個名為a.out的可執行檔案和兩個目標**檔案my.o 和 precious.o。
如果修改了其中某個源**檔案,如my.cxx, 可用以下命令重新編譯g++ my.cxx precious.o
1 5 如何建立C 程式
首先,我們要進入microsoft visual c 整合開發環境 integrated develop environment,簡稱 ide 雙擊圖示即可。進入以後,我們可以看到如下介面。圖 1 1 vc 6.0 啟動介面 單擊左上角的file選單,選擇new,會跳出如下對話方塊。圖 1 2 建立...
Linux 下 C 程式的異常處理技巧
在 c 中,無論何時在處理程式內捕獲乙個異常,關於該異常 的資訊都是不為人知的。異常的具體 可以提供許多更好地處理該異常的重要資訊,或者提供一些可以附加到錯誤日誌的資訊,以便以後進行分析。為了解決這一問題,可以在丟擲異常語句期間,在異常物件的建構函式中生成乙個堆疊跟蹤。exceptiontracer...
MySql建立索引的技巧
mysql建立索引的技巧 1 高維度的列建立索引 維度是資料列中不重複的值出現的個數,這個數量越高維度就越高 2 盡量對on where group by order by 現的列使用索引 3 對較小的資料列使用索引,這樣會使索引檔案更小,從而使記憶體中可以裝載更多的索引鍵 4 未較長的字串使用字首...