本文目錄一覽:
- 1、C語言文件的編譯與執行的四個階段並分別描述
- 2、用編譯程序可將c語言源程序變為什麼程序?
- 3、c語言:由object文件(.o)或.exe文件怎麼得到.c源文件?
- 4、C語言生成的EXE程序怎麼取消運行後自動關閉?
- 5、請問:我在電腦上裝的C語言開發軟體編譯總是出現下面的代碼,怎麼解決?
- 6、《C語言程序設計》第三版(譚浩強著)錯誤集
C語言文件的編譯與執行的四個階段並分別描述
開發C程序有四個步驟:編輯、編譯、連接和運行。
任何一個體系結構處理器上都可以使用C語言程序,只要該體系結構處理器有相應的C語言編譯器和庫,那麼C源代碼就可以編譯並連接到目標二進位文件上運行。
1、預處理:導入源程序並保存(C文件)。
2、編譯:將源程序轉換為目標文件(Obj文件)。
3、鏈接:將目標文件生成為可執行文件(EXE文件)。
4、運行:執行,獲取運行結果的EXE文件。
擴展資料:
將C語言代碼分為程序的幾個階段:
1、首先,源代碼文件測試。以及相關的頭文件,比如stdio。H、由預處理器CPP預處理為.I文件。預編譯的。文件不包含任何宏定義,因為所有宏都已展開,並且包含的文件已插入。我歸檔。
2、編譯過程是對預處理文件進行詞法分析、語法分析、語義分析和優化,生成相應的彙編代碼文件。這個過程往往是整個程序的核心部分,也是最複雜的部分之一。
3、彙編程序不直接輸出可執行文件,而是輸出目標文件。彙編程序可以調用LD來生成可以運行的可執行程序。也就是說,您需要鏈接大量的文件才能獲得「a.out」,即最終的可執行文件。
4、在鏈接過程中,需要重新調整其他目標文件中定義的函數調用指令,而其他目標文件中定義的變數也存在同樣的問題。
參考資料來源:百度百科-c語言
用編譯程序可將c語言源程序變為什麼程序?
你好,C語言通過編譯之後,會變為計算機能夠執行的程序。
源程序(源代碼)是指按照一定的程序設計語言規範編寫的未經過編譯的文本文件,是具有可讀性的計算機語言指令。可以比作自己手寫的程序代碼。可執行程序(Executable Program,EXE file)是可以在操作系統存儲空間中浮動定位的二進位可執行程序。一般軟體安裝後會生成可執行文件,可以直接載入到內存中,操作系統載入並執行。
以 C 語言為例,自己編寫的源代碼文件擴展名為 c,這個 c 文件就是源文件。從源文件到可執行文件一般需要經過幾個步驟:預處理-編譯-彙編-鏈接這四個過程。
希望我的回答能夠幫助到你。
c語言:由object文件(.o)或.exe文件怎麼得到.c源文件?
直接是無法得到的。即使你使用反彙編,也是不可以的啊!object文件已經是二進位,即使你反彙編,也只能得到彙編代碼。是無法原模原樣地得到c源程序的(否則的話,微軟的操作系統不就早被人反彙編出來了?)。
建議你根據思路重新寫吧。多練練,不要記程序是怎麼寫的(這是中國教育的詬病,只知道死記硬背,卻不理解),而是要做到心中有解,當你下定決心要重寫的時候,那麼你會發現你寫的代碼會比上一次更優秀!
C語言生成的EXE程序怎麼取消運行後自動關閉?
方法一,不改程序,在命令行上運行它
方法二,改程序,在最後退出程序前加一句 system(“pause”)。
可執行程序(executable program,EXE File)是指一種可在操作系統存儲空間中浮動定位的可執行程序。在MS-DOS和MS-WINDOWS下,此類文件擴展名為·exe。
DOS規定,有重名的exe和com,運行時優先執行com文件。如果只有A.exe,就可以直接輸入A,而不用輸入全名。但如果有A.com和A.exe,輸入A則優先執行A.com,要運行A.exe只能輸入A.exe而不能輸入A。
一般用於DOS,在WINDOWS系統中的執行文件一般都是.exe文件。在 MS-DOS 中,用以標識可執行文件的文件擴展名。用戶在提示行輸入不帶 .exe 擴展名的文件名後按 Enter 鍵或者點雙擊就能運行可執行程序。
請問:我在電腦上裝的C語言開發軟體編譯總是出現下面的代碼,怎麼解決?
這是由於mingw32的路徑問題,你需要把mingw32/bin(根據你的情況你機器有個相應的目錄)這個目錄加到windows環境變數Path後面,在我的計算機滑鼠右鍵點屬性
《C語言程序設計》第三版(譚浩強著)錯誤集
我沒第三版的,以前看過第二版的,感覺通俗易懂,就是太啰嗦,呵呵,初學用不錯!樓主看的很仔細,看來也做過試驗了,呵呵,不過還是有問題的。
2 signed 貌似是 有符號類型 無符號是unsigned
4 專業術語就叫增值,增值包含負值
6 有這個要求的,你這樣試試就明白了。
char a[10];
char b[10];
strcpy(a, “0123456789012345”);
printf(“%s”, b);
我給a賦值,溢出了,影響到了b,這在大型工程里就是不可估量的隱患。
7 不是兩個字元串都遇到’\0’,是任一字元串遇到’\0′
10 Fun 這個一般是Function(函數)的縮寫,至於前邊加個Li,是什麼縮寫我不知道,Line?或者就是李(某個姓李的寫的這個函數)?
11 我覺得把字元串改叫表達式更好一點,因為宏定義不僅能替換常量的,比如判斷表達式a與b(注意可以是表達式)誰大的「宏函數」
#define MAX(a, b) ((a) (b) ? (a) : (b))
貌似作者的「字元串」的意思很單純,就是字元串,而不是一種類型,我現在寫的東西不都是「字元串」嗎?o(∩_∩)o…
還有,BS一下二樓的,有本事你寫一本賣1000萬冊的?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248152.html