官术网_书友最值得收藏!

2.1 二進制代碼的生成過程

從源代碼(如C或C++語言程序)生成二進制可執行文件的過程叫做編譯過程。編譯過程由編譯器完成,這里以gcc(The GNU Compiler Collection, GNU編譯器套裝)為例進行說明。整個編譯過程分為四個階段:預編譯階段(也叫做編譯預處理階段)、編譯階段、匯編階段以及鏈接階段,如圖2.1所示。

圖2.1 從源代碼到可執行文件的編譯過程

注意,這里的編譯過程和編譯階段是兩個不同的事情。實際上,現代編譯器通常會合并其中的一些或全部階段。

下面以圖2.1中的程序Prog.c生成可執行文件Prog的過程為例進行說明。在默認情況下,執行命令“gcc Prog.c-o Prog”后,gcc可自動執行編譯過程的所有階段,生成可執行文件Prog。如果要單獨執行某個階段,必須顯式地為gcc指定相關選項。

主站蜘蛛池模板: 新田县| 突泉县| 平陆县| 鲁甸县| 东乌珠穆沁旗| 新晃| 响水县| 松潘县| 新竹市| 靖宇县| 镇雄县| 灵武市| 繁峙县| 定安县| 屏东市| 阜城县| 龙江县| 慈溪市| 南陵县| 金湖县| 桐柏县| 古丈县| 开鲁县| 鸡西市| 霍城县| 庆云县| 衢州市| 科技| 汪清县| 福清市| 兴海县| 洛隆县| 囊谦县| 江都市| 桂东县| 榆社县| 南部县| 晋江市| 井研县| 阿巴嘎旗| 蓬溪县|