A. [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)的,把程序的編輯、編譯、連接和運行等操作全部集中在一個界面上進行,功能豐富,使用方便,直觀易用。
B. c語言中的編輯,編譯,連接,運行分別是什麼意思
1、編輯:編寫代碼,製作C語言的源文件。
2、編譯:是由編譯程序將C語言源文件轉換成二進制中間文件,對文件內部的語法語義做處理,如果編譯出錯,無法進行後續動作。
3、鏈接:將編譯中生成的中間文件組合成二進制可執知行文件,這一步會對文件之間的關聯做檢查,如果出錯,將不會生成可執行文件,也就無法執行。
4、執行:運行可執行文件,這一步道是編寫代碼的最終目的。

(2)c語言順序編譯運行連接擴展閱讀:
DOS命令通常分為三類:內部命令、外部命令和批處理命令。
1、內部命令:
其包含在命令解釋程序COMMAND.COM中,一旦啟動DOS,這些命令就被調入內存,只要在DOS系統提示符下輸入這些命令,就可立即執行。
2、外部命令:
其以文件的形式存儲在系統盤上,所帶擴展名為COM和EXE。DOS啟動時,它們並沒有被調入內存,執行前必須從系統盤讀進內存。因此輸入外部命令時,要了解該命令是否在當前盤上,不然DOS無法找到它們。
3、批處理命令:
實際上是個文件,該文件包含多條命令,當用戶鍵入批處理文件名時,DOS將順序執行其中的各條命令。注意,批處理命令必須用「.BAT」作為擴展名。
C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單。
當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則就會顯得十分重要。
網路-運行命令
網路-C語言
C. C語言程序的運行順序
1、這個涉及到函數的調用約定
運行結果跟編譯器有一定的關系,不同的編譯器參數的入棧的順序不同
一般的編譯器是從右到左
如fun(a,b)這個函數調用,是先計算參數b,入棧,再計算參數a,入棧
2、printf("%d
%d",
a++,++a);
//先計算++a,先自增,a的值變為2,將2入棧
再來計算a++,將a的值2入棧,再使a自增,a的值變為3
printf("
%d\n",a);
//a的值已經變為3了
3、printf(%d
%d",
++a.a++);//先計算a++,將a的值1入棧,再使a自增,a的值變為2,再來計算++a,先自增,a的值為3,將3入棧,輸出3
1
printf("
%d\n",a);
//輸出3
4、三種調用約定:
__stdcall調用約定。兩者實質上是一致的,即函數的參數自右向左通過棧傳遞,被調用的函數在返回前清理傳送參數的內存棧,但不同的是函數名的修飾部分(關於函數名的修飾部分在後面將詳細說明)。
C調用約定(即用__cdecl關鍵字說明)和__stdcall調用約定有所不同,雖然參數傳送方面是一樣的,但對於傳送參數的內存棧卻是由調用者來維護的(也正因為如此,實現可變參數的函數只能使用該調用約定),另外,在函數名修飾約定方面也有所不同。
__fastcall調用約定是「人」如其名,它的主要特點就是快,因為它是通過寄存器來傳送參數的(實際上,它用CX和EDX傳送前兩個雙字或更小的參數,剩下的參數仍舊自右向左壓棧傳送,被調用的函數在返回前清理傳送參數的內存棧),在函數名修飾約定方面,它和前兩者均不同。
D. c語言為何需要編譯和連接才能運行
的文件(也稱為源代碼)而已,需要經過1定的處理才能轉換成機器上可運行的可履行文件。
我們將對C語言的這類處理進程稱為編譯與鏈接。
E. C語言源程序到運行程序經過哪幾個步驟
1、預處理
在這一階段,源碼中的所有預處理語句得到處理,例如:#include語句所包含的文件內容替換掉語句本身,所有已定義的宏被展開。
根據#ifdef,#if等語句的條件是否成立取捨相應的部分,預處理之後源碼中不再包含任何預處理語句。
GCC預處理階段可以生成.i的文件,通過選項-E可以使編譯器在預處理結束時就停止編譯。例如:gcc -E -o hello.i hello.c
2、編譯
這一階段,編譯器對源碼進行詞法分析、語法分析、優化等操作,最後生成匯編代碼。這是整個過程中最重要的一步,因此也常把整個過程稱為編譯。
可以通過選項-S使GCC在進行完編譯後停止,生成.s的匯編程序。例如:gcc -S -o hello.s hello.c
3、匯編
這一階段使用匯編器對匯編代碼進行處理,生成機器語言代碼,保存在後綴為.o的目標文件中。
當程序由多個代碼文件構成時,每個文件都要先完成匯編工作,生成.o目標文件後,才能進入下一步的鏈接工作。
目標文件已經是最終程序的某一部分了,只是在鏈接之前還不能執行。可以通過-c選項生成目標文件:gcc -c -o hello.o hello.c

4、鏈接
經過匯編以後的機器代碼還不能直接運行。為了使操作系統能夠正確載入可執行文件,文件中必須包含固定格式的信息頭,還必須與系統提供的啟動代碼鏈接起來才能正常運行,這些工作都是由鏈接器來完成的。gcc -o hello hello.c
5、運行:執行.EXE文件,得到運行結果。
F. 在計算機上運行一個C語言編寫的程序,要經過怎樣的處理過程
開發一個C語言程序需要經過的四個步驟:編輯、編譯、連接、運行。
C語言程序可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
1、編輯:輸入源程序並保存(。C文件)。
2、編譯:將源程序翻譯成目標文件(。OBJ文件)。
3、連接:將目標文件轉換成可執行文件。EXE文件)。
4、運行:執行。EXE文件,得到運行結果。

(6)c語言順序編譯運行連接擴展閱讀:
C代碼變成程序的階段:
1、首先,源代碼文件test。c和相關的頭文件,如stdio。h,由預處理程序CPP預處理為一個。我的文件。這是預編譯。I文件不包含任何宏定義,因為所有宏都已展開,所包含的文件都已插入其中。我的文件。
2、編譯過程就是對預處理後的文件進行一系列的詞法分析、語法分析、語義分析和優化,從而產生相應的匯編代碼文件。這個過程通常是整個程序構造的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成一個可以運行的可執行程序。為了得到最終的可執行文件「A.out」,需要將一大堆文件鏈接在一起。
4、在鏈接過程中,調用其他目標文件中定義的函數的指令需要重新校準,使用其他目標文件中定義的變數的指令也需要重新校準。
G. 為什麼通過編輯編譯連接和運行四步完成c語言程序運行
對於c/c++編寫程序
編輯就是寫代碼
編譯實質是把代碼按函數等分成小塊編譯成機器語言,存放在obj文件中,好比做衣服,先把衣服袖子、領口、口袋都裁剪准備好,後面就是把它們縫成衣服,就是鏈接。
鏈接是將程序片段鏈接組合成exe文件
運行就是最終需求
H. c語言運行快捷鍵,還有到底c語言怎麼運行啊 順序
Alt+F9
編譯文件為OBJ文件
F9
執行
MAKE
。
Ctrl+F9
運行程序。
這是按編譯連接運行的順序。
可以直接Ctrl+F9
I. C語言文件的編譯與執行的四個階段並分別描述
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進制文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。

(9)c語言順序編譯運行連接擴展閱讀:
將C語言代碼分為程序的幾個階段:
1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。
2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的匯編代碼文件。這個過程往往是整個程序的核心部分,也是最復雜的部分之一。
3、匯編程序不直接輸出可執行文件,而是輸出目標文件。匯編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。
4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。