c語言可執行程序
1. 如何將編寫好的c語言源程序變成可執行文件EXE
以GCC編譯器為例,可以分為四步。x0dx0a第一步是預處理,包括語法檢查等工作。x0dx0agcc -P abc.cx0dx0a第二步由源程序生產匯編語言代碼。x0dx0agcc -S abc.c x0dx0a會生成abc.s文件,這個文件里就是匯編代碼。x0dx0a第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。x0dx0agcc -c abc.cx0dx0a會生成abc.ox0dx0a第四步連接器從目標代碼生成可執行文件。x0dx0agcc abc.ox0dx0ax0dx0a目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。
2. C語言的可執行程序是由一系列機器指令構成的
以下敘述中錯誤的是
A)C語言的可執行程序是由一系列機器指令構成的
B)用C語言編寫的源程序不能直接在計算機上運行
C)通過編譯得到的二進制目標程序需要連接才可以運行
D)在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的.exe文件
是這個題么,答案是D。。。。
不能運行exe文件,那還是window程序么。。囧
3. [C語言] 運行C程序的步驟
(1)上機輸入和編輯源程序。通過鍵盤向計算機輸入程序,如發現有錯誤,要及時改正。最後將此源程序以文件形式存放在自己指定的文件夾內(如果不特別指定,一般存放在用戶當前目錄下),文件用.c作為後綴,生成源程序文件,如f.c。
(2)對源程序進行編譯,先用C編譯系統提供的「預處理器」(又稱「預處理程序」或「預編譯器」)對程序中的預處理指令進行編譯預處理。例如,對於#include<stdio.h>指令來說,就是將stdio.h頭文件的內容讀進來,取代#include<stdio.h>行。由預處理得到的信息與程序其他部分一起組成一個完整的、可以用來進行正式編譯的源程序,然後由編譯系統對該源程序進行編譯。
編譯的作用首先是對源程序進行檢查,判定它有無語法方面的錯誤,如有,則發出「出錯信息」,告訴編程人員認真檢查改正。修改程序後重新進行編譯,如果還有錯,再發出「出錯信息」。如此反復進行,直到沒有語法錯誤為止。這時,編譯程序自動把源程序轉換為二進制形式的目標程序(在Visual C++中後綴為.obj,如f.obj)。如果不特別指定,此目標程序一般也存放在用戶當前目錄下,此時源文件沒有消失。
在用編譯系統對源程序進行編譯時,自動包括了預編譯和正式編譯兩個階段,一氣呵成。用戶不必分別發出二次指令。
(3)進行連接處理。經過編譯所得到的二進制目標文件(後綴為.obj)還不能供計算機直接執行。前面已說明:一個程序可能包含若干個源程序文件,而編譯是以源程序文件為對象的,一次編譯只能得到與一個源程序文件相對應的目標文件(也稱目標模塊),它只是整個程序的一部分。必須把所有的編譯後得到的目標模塊連接裝配起來,再與函數庫相連接成一個整體,生成一個可供計算機執行的目標程序,稱為可執行程序(executive program),在Visual C++中其後綴為.exe,如f.exe。
即使一個程序只包含一個源程序文件,編譯後得到的目標程序也不能直接運行,也要經過連接階段,因為要與函數庫進行連接,才能生成可執行程序。
以上連接的工作是由一個稱為「連接編輯程序」(linkage editor)的軟體來實現的。
(4)運行可執行程序,得到運行結果。
以上過程如圖1.2所示。其中實線表示操作流程,虛線表示文件的輸入輸出。例如,編輯後得到一個源程序文件f.c,然後在進行編譯時再將源程序文件f.c輸入,經過編譯源程序,找出問題,修改源程序,並重新編譯,直到無錯為止。有時編譯過程未發現錯誤,能生成可執行程序,但是運行的結果不正確。一般情況下,這不是語法方面的錯誤,而可能是程序邏輯方面的錯誤,例如計算公式不正確、賦值不正確等,應當返回檢查源程序,並改正錯誤。
為了編譯、連接和運行C程序,必須要有相應的編譯系統。目前使用的很多C編譯系統都是集成開發環境(IDE)的,把程序的編輯、編譯、連接和運行等操作全部集中在一個界面上進行,功能豐富,使用方便,直觀易用。
4. C語言源程序文件、目標文件和可執行文件的擴展名是什麼
C語言源程序文件擴展名:.c
目標文件擴展名:.obj
可執行文件擴展名:.exe
源程序:程序可以用高級語言或匯編語言編寫,用高級語言或匯編語言編寫的程序稱為源程序。C語言源程序的擴展名為「.c」。源程序不能直接在計算機上執行,需要用「編譯程序」將源程序編譯為二進制形式的代碼。
目標程序:源程序經過「編譯程序」編譯所得到的二進制代碼稱為目標程序。目標程序
的擴展名為「.obj」。
目標代碼盡管已經是機器指令,但是還不能運行,因為目標程序還沒有解決函數調用問題,需要將各個目標程序與庫函數連接,才能形成完整的可執行程序。
可執行程序:目標程序與庫函數連接,形成的完整的可在操作系統下獨立執行的程序
稱為可執行程序。可執行程序的擴展名為「.exe「。
(4)c語言可執行程序擴展閱讀:
C語言創建程序的步驟:
編輯:就是創建和修改C程序的源代碼-我們編寫的程序稱為源代碼。
編譯:就是將源代碼轉換為機器語言。編譯器的輸出結果成為目標代碼,存放它們的文件稱為目標文件。擴展名為.o或者.obj。(該部分編譯是指匯編器編譯匯編語言或者編譯器編譯高級語言)
鏈接:鏈接器將源代碼由編譯器產生的各種模塊組合起來,再從C語言提供的程序庫中添加必要的代碼模塊,將它們組成一個可執行的文件。在windows下擴展名為.exe,Unix下無擴展名。
執行:運行程序。
IT專家網——C語言編程程序編譯全過程剖析
5. c語言如何運行
c語言運行方式如下:
上機輸入和編譯源程序。通過鍵盤向計算唯羨機輸入程序,最後將此源程序以文件形式存放在文件夾內,文件用.c作為後綴,生成源程序文件。對源程序進行編譯,侍山察先用c編譯系統提供的「預處理器」對程序中的預處理指令進行編譯預處理。例如,對於#include
編譯的作用是對源程序進行檢查,判定程序有無語法的錯誤。直到沒有錯誤時,編譯程序自動把源程序轉換為二進制形式的目標程序進行連接處理。經過編譯後所得到的二進制目標文件還不能供計算機直接執行。一個程序可能包含若干個源程序文件,而一次編譯只能得到與一個源程序文件相對應的目標文件,
只是程序的一部分,必須把所有編譯後得到的目標文件鏈接裝配起來,再與函數庫相連接成一個整體,生成一個可供計算機執行的目標程序,稱為可執行程序,即使一個程序只包含一個源文件,編譯後得到的目標程序也不能直接運行,也要經過連接階段,因為要和函數庫進行連接,才能生成可執行程序。運行可執行程序,得到運行結果。把f.exe輸入計算機,並老茄使之運行,得到結果。
6. C語言編寫好代碼後,怎麼編譯,最後生成可執行文件
材料/工具:vc6.0
1、打開c語言編輯工具,在工具中寫入程序的源代碼。
7. [C語言] 運行C程序的步驟
你好,首先選擇建立項目編寫程序,在將其保存,建項然後進行運行。
8. C語言可執行程序從什麼地方開始執行
嚴格來說從stdio.h這個頭文件開始載入,(有的編譯器集成,所以不需要明確寫出來)
因為main函數是這個頭文件裡面定義的。