1. 程式人生 > >c編譯器_編譯過程

c編譯器_編譯過程

語言的發展歷史:
1機器語言:計算機能直接識別的語言(0/1組成的程式碼)
2彙編:由特定助記符來代替二進位制指令 mov #32
3高階語言:用自然語言與機器溝通c /c++ /java /c# /oc /易語言
計算機的語言:機器語言(計算機只能識別此語言)

編譯器:高階語言與機器之間的語言翻譯專家
gcc/g++是一款很優秀的編譯器

一,將高階語言(C語言)翻譯成為目標程式
gcc 原始檔 -o 可執行檔名 【注:-o output生成可執行檔名】
gcc 原始檔 【注:預設生成a.out】
二,編譯過程:(動態庫,靜態庫)
1預編譯
2彙編
3翻譯
4連線
三,makefile:是一個文字檔案(沒有多種型別),該檔案中包含自動化的編譯規則

目標:依賴檔案
	<tab>command;
目標:
	shell命令
定義變數:
	變數名=字串
引用變數:
	$(變數名)
					

四,make:執行makefile檔案,自動化編譯(make命令時,shell會查詢本地的makefile檔案)
1在執行make命令時,一旦發現某個目標的依賴檔案修改時間沒改變時,不會執行此命令
2make 目標名 執行該目標命令
3執行程式:路徑/可執行檔名

練習:
1在makefile中將編譯過程表述出
2刪除中間過程的檔案 .i .s .o