執行C程式的步驟和方法

2021-10-05 08:36:26 字數 1988 閱讀 6537

計算機不能直接識別和執行用高階語言寫的指令,必須用編譯程式把c源程式翻譯成二進位制形式的目標程式,然後再將該目標程式與系統的函式庫以及其他目標程式連線起來,形成可執行的目標程式。

在編好乙個c源程式後,怎樣上機進行編譯和執行呢?一般要經過以下幾個步驟:

(1)上機輸入和編輯源程式。通過鍵盤向計算機輸入程式,如發現有錯誤,要及時改正。最後將此源程式以檔案形式存放在自己指定的資料夾內,檔案用.c作為字尾,生成源程式檔案,如f.c

(2)對源程式進行編譯,先用c編譯系統提供的「預處理器」對程式中的預處理指令進行編譯預處理。例如,對於#include指令來說,就是將stdio.h標頭檔案的內容讀進來,取代#include行。由預處理得到的資訊和程式其他部分一起,組成乙個完整的,可以用來進行正式編譯的源程式,然後由編譯系統對該源程式進行編譯。

編譯的作用首先是對源程式進行檢查,判斷它有無語法方面的錯誤,如有,則發出「出錯資訊」,告訴程式設計人員認真檢查改正。修正程式後重新進行編譯,如有錯,再發出「出錯資訊」。如此反覆進行,直到沒有語法錯誤為止。這時,編譯程式自動把源程式轉換為二進位制形式的目標程式,如果不特別指定,此目標程式一般也存放在使用者當前目錄下,此時原始檔沒有消失。

在用編譯系統對源程式進行編譯時,自動包括了預編譯和正式編譯兩個階段,一氣呵成。使用者不必分別發出二次指令。

(3)進行連線處理。經過編譯所得到的二進位制目標檔案(字尾為.obj)還不能供計算機直接執行。前面也說明:乙個程式可能包含若干個源程式檔案,而編譯是以源程式檔案為物件的,一次編譯只能得到與乙個源程式檔案相對於的目標檔案,它只是整個程式的一部分,必須把所有的編譯後得到的目標模組連線裝配起來,再與函式庫相連線成乙個整體,生成乙個可供計算機執行的目標程式,稱為可執行程式,在visual c++中其字尾為.exe,如f.exe。

即使乙個程式只包含乙個源程式檔案,編譯後得到的目標程式也不能直接執行,也要經過連線階段,因為要與函式庫進行連線,才能生成可執行程式。

以上連線的工作是由乙個稱為「連線編輯程式」的軟體來實現的。

(4)執行可執行程式,得到執行結果。

以上過程如圖所示,其中實線表示操作流程,虛線表示檔案的輸入輸出。例如編輯後得到乙個源程式檔案f.c,然後在進行編譯時再將源程式檔案f.c輸入,經過編譯得到目標程式檔案f.obj,再將所有目標模板輸入計算機,與系統提供的庫函式等進行連線,得到可執行的目標程式f.exe,最後把f.exe輸入計算機,並使之執行得到結果。

乙個程式從編寫到執行成功,並不是一次成功的,往往要經過多次反覆。編寫好的程式並不一定能保證正確無誤,除了用人工方式檢查外,還須借助編譯系統來檢查有無語法錯誤。從圖中可以看到:如果在編譯過程中發現錯誤,應當重新檢查源程式,找出問題,修改源程式,並重新編譯,直到無錯為止。有時編譯過程未發現錯誤,能生成可執行程式,但是執行的結果不正確。一般情況下,這不是語法方面的錯誤,而可能是程式邏輯方面的錯誤,例如計算公式不正確、賦值不正確等,應當返回檢查源程式,並改正錯誤。

為了編譯、連線和執行c程式,必須要有相應的編譯系統。目前使用的很多c編譯系統都是整合環境(ide)的,把程式的編輯、編譯、連線和執行等操作全部集中在乙個介面上進行,功能豐富,使用方便,直觀易用。

寫出源程式後可以用任何一種編譯系統對程式進行編譯和連線工作,只要使用者感到方便、有效即可。20世紀90年代,turbo c 2.0用得比較多,但turbo c 2.0是用於dos環境的,在進入turbo c整合環境後,不能用滑鼠進行操作,主要通過鍵盤選擇選單,不大方便。有的人改用turbo c++ 3.0,它具有方便、直觀和易用的介面,雖然它也是dos環境下的整合環境,但可以用滑鼠操作選單,因此在windows環境下使用也很方便。近年來,不少人用visual c++對c程式進行編譯。visual c++ 6.0既可以對c++程式進行編譯,也可以對c程式進行編譯。

不應當只會使用一種編譯系統,無論用哪一種編譯系統,都應當能舉一反三,在需要時會用其他編譯系統進行工作。

C程式設計 1 5執行C程式的步驟與方法

1.1 c程式上機步驟 1 上機輸入和編輯源程式 c檔案 2 對源程式進行編輯 obj檔案 3 進行鏈結處理 exe 4 執行可執行程式,得到執行結果 2.程式使用,vc.以vc為例 1.啟動vc,選擇file 檔案 new 新建 選單命令,編輯源程式 c檔案 2.選擇build 構建 compil...

第1章 執行C程式的步驟與方法

用 c 語言編寫的程式是源程式。計算機不能直接識別和執行用高階語言寫的指令,必須用編譯程式 也稱編譯器 把 c 源程式翻譯成二進位制形式的目標程式,然後再將該目標程式與系統的函式庫以及其他目標程式連線起來,形成可執行的目標程式。在編寫好乙個 c 源程式後,怎樣上機進行編譯和執行呢?一般經過以下幾個步...

linux程式執行步驟

作業系統建立程序,把控制權交給程式的入口 往往是執行庫中的某個入口函式 入口函式對執行庫和程式執行環境進行初始化 包括堆 i o 執行緒 全域性變數構造等等 入口函式初始化後,呼叫 main 函式,正式開始執行程式主體部分。main 函式執行完畢後,返回到入口函式進行清理工作 包括全域性變數析構 堆...