运行C程序的步骤和方法如何电脑运行程序
計算機不能直接識別和執行用高級語言寫的指令,必須用編譯程序把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程序進行編譯。
不應當只會使用一種編譯系統,無論用哪一種編譯系統,都應當能舉一反三,在需要時會用其他編譯系統進行工作。
搜索微信公眾號【balayihuier】或掃描下方二維碼關注微信公眾號,資深軟件工程師帶你手把手擼代碼,從此走上人生巔峰,迎娶白富美!
公眾號《吧啦一會兒》,手把手帶你擼代碼
總結
以上是生活随笔為你收集整理的运行C程序的步骤和方法如何电脑运行程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDL2来源分析3:渲染(SDL_Ren
- 下一篇: 电脑如何将流氓软件拒之门外电脑如何阻止流