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

2-2 程序與可執行文件

大家注意到,圖2-2中的Winword.exe文件的擴展名為exe,這是標記可執行文件的擴展名之一。可以把可執行文件稱作程序。反過來也可以。

請記住,可執行文件的擴展名,一個軟件至少有一個可執行文件才能夠被普通用戶使用。或者可以這樣說:你使用Word軟件,最起碼得有Winword.exe可執行文件。

可執行文件是由計算機CPU可以識別的機器指令和數據組成的。可執行文件也有格式和規范,開發系統程序和病毒的程序員,對這個研究很多。

作為未來的程序員,你必須知道源程序都是所謂的ASII碼,所謂的.exe文件是二進制的,還知道它們的不同。

創建C程序時,將語句放在一個擴展名為C的源文件中,其實只是一個文本文件,里面是ASII碼。假如程序編譯成功,編譯器將生成一個具有exe擴展名的可執行文件。如在第5段中所述。許多程序都使用包含常用的頭文件(具有.h擴展名,也是文本文件)。如果編譯完程序后檢查子目錄,可發現一個或多個有obj擴展名的文件。這些文件稱作目標文件,它包含計算機能理解的、以0和1的形式存在的指令,所以也是二進制的。但這些目標文件不能被執行,因為它們的內容相對.exe文檔來說不是很完整,還需要通過鏈接產生*.exe文件。

比如,C程序提供一些例行程序(比如printf)來完成常用的操作,以減少程序中的語句數目。編譯器對程序完成語法檢查后,將生成一個目標文件。對于程序first.c,編譯器將生成一個名為first.obj的目標文件。接著,一個稱為連接器的程序將目標文件中的語句和編譯器提供的函數(例如printf)連接起來,生成可執行文件。在大多數情況下,激活編譯器來檢查源代碼,如果程序編譯成功,編譯器將自動激活連接器。

具體細節,可以在后面的章節和具體開發過程中慢慢體會。

主站蜘蛛池模板: 上杭县| 临清市| 依安县| 穆棱市| 钟山县| 丰都县| 峨眉山市| 海原县| 曲水县| 射洪县| 互助| 红河县| 綦江县| 乐山市| 莱西市| 新乐市| 麟游县| 米易县| 十堰市| 四平市| 从江县| 宁国市| 阿瓦提县| 边坝县| 平潭县| 伊吾县| 会昌县| 安塞县| 乌拉特中旗| 香港 | 焦作市| 新巴尔虎右旗| 城口县| 甘洛县| 三亚市| 两当县| 迁西县| 三都| 台东县| 新绛县| 稷山县|