#
include
--預處理器指令
void
butler
(void);
--函式宣告
intmain()
;--主函式
void
butler()
--函式定義開始
1.預處理
在預編譯的過程中,主要處理源**中的預處理指令,引入標頭檔案,去除注釋,去除所有的條件編譯指令,巨集的替換,新增行號,保留所有的編譯器指令。當進行預處理以後的檔案中將不再存在巨集,所有的巨集都已經被替代。當想要判斷巨集是都正確或者標頭檔案包含是否正確時,可以通過預編譯來檢視。
2.編譯
編譯過程所進行的是對預處理後的檔案進行語法分析,詞法分析,語義分析,符號分析,然後生成彙編**檔案。
3.彙編
彙編過程將彙編**轉成二進位制檔案,二進位制檔案就可以讓機器來讀取。每一條彙編語句都會產生一句機器語言。
4.鏈結
鏈結程式主要是將有關聯的目標檔案彼此相連線,也即將在乙個檔案中引用的符號通該符號在另外乙個檔案中的定義鏈結起來,使得所有的這些目標檔案成為乙個能夠被作業系統執行的檔案。
鏈結分為靜態鏈結和動態鏈結
兩種鏈結的優缺點:
靜態鏈結產生的可執行檔案體積比較大;動態鏈結的可執行檔案體積的體積比較小;
動態鏈結編譯的效率比較高;靜態鏈結可執行檔案的執行效率高;
靜態鏈結的可執行檔案「布局」好;
定義程式的目標:
思考你的程式需要哪些資訊,要進行哪些計算和控制,以及程式應該要報告什麼資訊。
設計程式:
如何用程式實現目標。例如:目標使用者是誰?使用者介面應該是怎樣的?如何組織程式?如何在程式中表示資料及用什麼方法處理資料。
編寫**:
設計好程式後,編寫**來實現。
注意:應該給自己編寫的新增文字注釋。
編譯:編譯器把源**轉換成可執行**的程式。
①c編譯器負責把c**翻譯成特定的機器語言;
②檢查c語言程式是否有效,若編譯器發現錯誤,就不生成可執行檔案並報錯。
執行程式:
測試和除錯程式:
能執行的程式可能會出現錯誤(bug),查詢並修復程式錯誤的過程叫除錯。
維護和修改程式:
建立完程式後,你發現程式有錯,或者像擴充套件程式的用途,這時就需要修改程式。
session執行機制
session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表 的結構 也可能就是使用 雜湊表 來儲存資訊。當程式需要為某個客戶端的請求建立乙個session的時候,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識 稱為sessionid,如果已包含乙個sessionid則說明...
try catch finally執行機制
finally的執行 如下的程式所示,注釋中是執行的順序 public class test public static string test finally public static string test1 finally其實是僅在return 語句執行前執行,如果return 乙個函式,那...
runtime執行機制
這篇文章主要介紹的是runtime是什麼以及怎麼用!希望對讀者有所幫助!第乙個問題,1 runtime實現的機制是什麼,怎麼用,一般用於幹嘛?runtime是一套比較底層的純c語言api,屬於1個c語言庫,包含了很多底層的c語言api。在我們平時編寫的oc 中,程式執行過程時,其實最終都是轉成了ru...