MinGW-w64安裝教程 著名C/C++編譯器GCC的Windows版本

本文主要講述如何安裝 C語(yǔ)言 編譯器——MinGW-w64,特點(diǎn)是文章附有完整詳細(xì)的實(shí)際安裝過(guò)程截圖,文字反而起說(shuō)明提示作用。
編寫(xiě)本文的原因始于我的一個(gè)觀點(diǎn):圖片可以比文字傳達(dá)更多的信息,也能讓其他人更容易理解作者的意圖及思想。因此,我將安裝 MinGW-w64 的過(guò)程和步驟,編寫(xiě)成了這篇以圖片為主的教程,為了讓看到這篇文章的任何人,都可以很容易按照?qǐng)D片所示正確安裝 MinGW-w64。
我希望寫(xiě)出一篇即使是新手也可以看懂的 MinGW-w64 安裝教程。
一、什么是 MinGW-w64 ?
MinGW 的全稱是:Minimalist GNU on Windows 。它實(shí)際上是將經(jīng)典的開(kāi)源 C語(yǔ)言 編譯器 GCC 移植到了 Windows 平臺(tái)下,并且包含了 Win32API ,因此可以將源代碼編譯為可在 Windows 中運(yùn)行的可執(zhí)行程序。而且還可以使用一些 Windows 不具備的,Linux平臺(tái)下的開(kāi)發(fā)工具。一句話來(lái)概括:MinGW 就是 GCC 的 Windows 版本 。
以上是 MinGW 的介紹,MinGW-w64 與 MinGW 的區(qū)別在于 MinGW 只能編譯生成32位可執(zhí)行程序,而 MinGW-w64 則可以編譯生成 64位 或 32位 可執(zhí)行程序。
正因?yàn)槿绱耍琈inGW 現(xiàn)已被 MinGW-w64 所取代,且 MinGW 也早已停止了更新,內(nèi)置的 GCC 停滯在了 4.8.1 版本,而 MinGW-w64 內(nèi)置的 GCC 則更新到了 6.2.0 版本。
二、為什么使用 MinGW-w64 ?
1. MinGW-w64 是開(kāi)源軟件,可以免費(fèi)使用。
2. MinGW-w64 由一個(gè)活躍的開(kāi)源社區(qū)在持續(xù)維護(hù),因此不會(huì)過(guò)時(shí)。
3. MinGW-w64 支持最新的 C語(yǔ)言 標(biāo)準(zhǔn)。
4. MinGW-w64 使用 Windows 的C語(yǔ)言運(yùn)行庫(kù),因此編譯出的程序不需要第三方 DLL ,可以直接在 Windows 下運(yùn)行。
5. 那些著名的開(kāi)源 IDE 實(shí)際只是將 MinGW-w64 封裝了起來(lái),使它擁有友好的圖形化界面,簡(jiǎn)化了操作,但內(nèi)部核心仍然是 MinGW-w64。
MinGW-w64 是穩(wěn)定可靠的、持續(xù)更新的 C/C++ 編譯器,使用它可以免去很多麻煩,不用擔(dān)心跟不上時(shí)代,也不用擔(dān)心編譯器本身有bug,可以放心的去編寫(xiě)程序。
三、MinGW-w64 適合做什么?
對(duì)于熟悉 MinGW-w64 的高手而言,它可以編譯任何 C語(yǔ)言 程序。但對(duì)于一般人來(lái)說(shuō),MinGW-w64 太過(guò)簡(jiǎn)陋,連圖形用戶界面都沒(méi)有。這讓習(xí)慣使用鼠標(biāo)的人,感到很痛苦。雖然也可以通過(guò)一些配置,讓 MinGW-w64 擁有圖形用戶界面,但那個(gè)過(guò)程非常麻煩。
除此之外,編譯復(fù)雜的程序時(shí),還需要你會(huì)編寫(xiě) Makefile ,否則只能一個(gè)文件一個(gè)文件的編譯,可想而知會(huì)多么辛苦。
但對(duì)于初學(xué) C語(yǔ)言 的人來(lái)說(shuō),MinGW-w64 是正合適的編譯器,至少黑色的命令提示符界面很有編程的氣氛,感覺(jué)很酷。
在剛開(kāi)始學(xué) C語(yǔ)言 時(shí),所有代碼通常都寫(xiě)在一個(gè)文件中,只要輸入幾個(gè)簡(jiǎn)單的命令,就能用 MinGW-w64 編譯成可執(zhí)行文件。雖然 VS2015 等編譯器,只要點(diǎn)擊下鼠標(biāo)就可以完成編譯,但它會(huì)自動(dòng)生成一大堆工程文件,讓初學(xué)者摸不著頭腦。而 MinGW-w64 則只會(huì)生成一個(gè)可執(zhí)行文件。
如果對(duì) MinGW-w64 和 VS2015 等編譯器進(jìn)行一下形容,那么 MinGW-w64 是手動(dòng)的,而 VS2015 等編譯器則是自動(dòng)的。因此 MinGW-w64 的編譯過(guò)程更加直觀容易理解,也比較適合C語(yǔ)言學(xué)習(xí)。
總而言之,對(duì)于一般人來(lái)說(shuō),MinGW-w64 適合學(xué)習(xí) C語(yǔ)言 時(shí)使用,真正工作還是用 VS2015 更好。當(dāng)然如果您是在 Linux 下工作,那么Code::Blocks可能是一個(gè)選擇,不過(guò)最大的可能是您必須習(xí)慣使用 GCC 來(lái)編譯程序。
四、下載和安裝 MinGW-w64
在開(kāi)始安裝之前,請(qǐng)先確認(rèn)您滿足以下幾個(gè)條件。
1.您的電腦已經(jīng)連接到網(wǎng)絡(luò)。
2.您的電腦硬盤(pán)有500MB的剩余空間。
3.您現(xiàn)在有充足的時(shí)間。(受您當(dāng)前網(wǎng)速的影響,安裝過(guò)程可能會(huì)花費(fèi)10幾分鐘或1個(gè)小時(shí)以上的時(shí)間。)
如果您確認(rèn),您滿足了上述條件,那么就可以開(kāi)始安裝 MinGW-w64 了。
注意:教程中的圖片都是實(shí)際安裝時(shí)的原比例截圖,如果您看不清圖片中的提示語(yǔ),可以將圖片放大,不會(huì)影響清晰度。想要觀看大圖,只需點(diǎn)擊圖片,就會(huì)跳轉(zhuǎn)到原始尺寸的圖片頁(yè)面中。如果前面的方法失效,您仍然可以通過(guò)瀏覽器放大頁(yè)面的功能,放大圖片,例如在 Chrome 瀏覽器下,您可以按住 Ctrl 鍵,然后滾動(dòng)鼠標(biāo)滾輪,即可放大頁(yè)面。
1.MinGW-w64官方網(wǎng)站首頁(yè)(http://mingw-w64.org/)
說(shuō)明:MinGW-w64 官方網(wǎng)站的地址是:http://mingw-w64.org ,首頁(yè)樣式如上圖所示。
操作:點(diǎn)擊紅框中的“Downloads”超鏈接,進(jìn)入 MinGW-w64 下載詳情頁(yè)面。
2.MinGW-w64下載詳情頁(yè)面
說(shuō)明:這是 MinGW-w64 的下載詳情頁(yè)面。首先看到一個(gè)標(biāo)題為 Pre-built toolchains and packages 的列表,這里面是包含 MinGW-w64 及特定工具的整合包。我們這個(gè)教程只安裝 MinGW-w64 ,所以只需下載 MinGW-w64 即可。
操作:點(diǎn)擊紅框中的“SourceForge”超鏈接,就會(huì)進(jìn)入 SourceForge 中的 MinGW-w64 下載頁(yè)面。
3.SourceForge 中的 MinGW-w64 下載頁(yè)面
說(shuō)明:MinGW-w64 的代碼和可執(zhí)行文件被托管存儲(chǔ)在 SourceForge 上,在這個(gè)頁(yè)面上就可以直接下載 MinGW-w64 了。MinGW-w64 是非常復(fù)雜的,編譯器大多都是如此,為了適應(yīng)各種操作系統(tǒng),它們的組件會(huì)存在各種不同的版本,以適應(yīng)不同的環(huán)境。所以,我們直接下載 MinGW-w64 的安裝程序,它會(huì)按照我們的需要,自動(dòng)下載適合的組件,并將它們組織在一起。
操作:點(diǎn)擊紅框中的“Download mingw-w64-install.exe”超鏈接,將會(huì)下載這個(gè) MinGW-w64 自動(dòng)安裝的程序。
4.等待 MinGW-w64 安裝程序開(kāi)始下載
說(shuō)明:5秒鐘之后,瀏覽器會(huì)自動(dòng)下載 mingw-w64-install.exe 。
操作:只需等待。
注意:如果瀏覽器沒(méi)有自動(dòng)下載,則可以點(diǎn)擊黃框中的“direct link”超鏈接,手動(dòng)下載。如果下載速度非常慢,可以點(diǎn)擊綠框中的“mirror”超鏈接,選擇一個(gè)離自己近的鏡像網(wǎng)站,可能會(huì)獲得較高(無(wú)法保證)的下載速度。
5.正在下載 mingw-w64-intall.exe
說(shuō)明:如果你的瀏覽器是 chrome ,那么在瀏覽器下部,會(huì)出現(xiàn)這樣一個(gè)下載標(biāo)簽。
操作:只需等待。
6.MinGW-w64 安裝程序
說(shuō)明:這就是 MinGW-w64 的安裝程序。它本質(zhì)上是一個(gè)下載程序,會(huì)根據(jù)我們之后的一些設(shè)置,選擇性的下載相應(yīng)的組件,并將它們組織在一起。所以,運(yùn)行前要確定網(wǎng)絡(luò)通暢,而且你有足夠的時(shí)間,因?yàn)楦鶕?jù)你的網(wǎng)速,它可能需要花費(fèi)一定的時(shí)間來(lái)下載。
操作:用鼠標(biāo)雙擊運(yùn)行 mingw-w64-install.exe 。
注意:如果出現(xiàn)無(wú)法運(yùn)行,或者安裝出錯(cuò),你可以右鍵點(diǎn)擊它,并在彈出窗口中選擇“以管理員身份運(yùn)行”選項(xiàng),重新運(yùn)行 mingw-w64-install.exe ,基本可以解決大部分問(wèn)題。
7.MinGW-w64 安裝程序歡迎界面
說(shuō)明:歡迎使用 MinGW-w64 在線安裝程序。
操作:點(diǎn)擊紅框中的 “Next” 按鈕,將會(huì)進(jìn)入下一步安裝步驟。
8.從服務(wù)器獲取 MinGW-w64 文件信息
說(shuō)明:這里程序正在鏈接服務(wù)器,以便獲取存儲(chǔ)在倉(cāng)庫(kù)中的 MinGW-w64 的文件明細(xì)。
操作:只需等待。
9.MinGW-w64 版本選擇
說(shuō)明:在這個(gè)界面,你可以根據(jù)所要搭建的開(kāi)發(fā)環(huán)境,選擇不同的選項(xiàng),從而下載所需的組件。
操作:選擇 Version、Architecture、Threads、Exception、Build revision 下拉列表中適當(dāng)?shù)倪x項(xiàng),接下來(lái)將會(huì)詳細(xì)介紹這些選項(xiàng)。
10.選擇 gcc 版本
說(shuō)明:Version 指的是 gcc 的版本,如果沒(méi)有特殊的需求,一般選擇最高的版本號(hào)即可。
操作:在這個(gè)版本中,最高版本是 6.2.0 ,選中它即可。
11.選擇電腦系統(tǒng)架構(gòu)
說(shuō)明:Architecture 是指電腦系統(tǒng)是 32位 還是 64位,根據(jù)你的電腦系統(tǒng)做出對(duì)應(yīng)選擇。
操作:我的電腦系統(tǒng)是 64位 的,所以我選擇了 x86_64,如果你是 32位 系統(tǒng),則選擇 i686 即可。
12.選擇操作系統(tǒng)接口協(xié)議
說(shuō)明:這個(gè)世界上只有兩種操作系統(tǒng),符合 posix 協(xié)議的,和 Windows 。如這個(gè)笑話所說(shuō)的,如果你想要開(kāi)發(fā) Windows 程序,需要選擇 win32 ,而開(kāi)發(fā) Linux、Unix、Mac OS 等其他操作系統(tǒng)下的程序,則需要選擇 posix 。
操作:我只開(kāi)發(fā)在 Windows 下運(yùn)行的程序,所以選擇了 win32 。
13.選擇異常處理模型(64位)
說(shuō)明:異常處理在開(kāi)發(fā)中非常重要,你在開(kāi)發(fā)的過(guò)程中,大部分的時(shí)間會(huì)耗在處理各種異常情況上。如果你之前選擇了 64位,則這里有兩個(gè)異常處理模型供你選擇,seh 是新發(fā)明的,而 sjlj 則是古老的。seh 性能比較好,但不支持 32位。 sjlj 穩(wěn)定性好,支持 32位。
操作:我這里選擇了 seh 。
14.選擇異常處理模型(32位)
說(shuō)明:選擇了 32位 后,則可以用 dwarf 和 sjlj 兩種異常處理模型。同樣的,dwarf 的性能要優(yōu)于 sjlj ,可以它不支持 64位 。
操作:建議選擇 dwarf 。
15.建立修訂
說(shuō)明:暫時(shí)沒(méi)弄明白是做什么的。(知道的人請(qǐng)留言)
操作:選擇默認(rèn)選項(xiàng)。
16.MinGW-w64 版本選擇完成
說(shuō)明:綠框中就是我的 MinGW-w64 安裝配置單,gcc 是 6.2.0 版本,系統(tǒng)架構(gòu)是 64位,接口協(xié)議是 win32,異常處理模型是 seh,Build revision 是 1 。
操作:點(diǎn)擊紅框中的“Next”按鈕,進(jìn)入下一個(gè)步驟。
17.選擇 MinGW-w64 的安裝目錄
說(shuō)明:在這里選擇 MinGW-w64 將要安裝到哪個(gè)目錄中去。安裝程序默認(rèn)會(huì)將 MinGW-w64 安裝在 C盤(pán) ,而在 Windows 操作系統(tǒng)中 C盤(pán) 是系統(tǒng)盤(pán),操作系統(tǒng)會(huì)被安裝在這個(gè)盤(pán)里,而按照一般的習(xí)慣,我們盡量不把應(yīng)用軟件安裝載系統(tǒng)盤(pán)里。因?yàn)橐郧暗碾娔X使用的是機(jī)械硬盤(pán),而機(jī)械硬盤(pán)頻繁讀寫(xiě)會(huì)降低效率,所以盡量將操作系統(tǒng)與應(yīng)用軟件放在不同的硬盤(pán)分區(qū)下。當(dāng)然,現(xiàn)在的電腦大部分都配備了固態(tài)硬盤(pán)(SSD),而且通常作為系統(tǒng)盤(pán)來(lái)使用,因此已經(jīng)沒(méi)有讀寫(xiě)效率的問(wèn)題了。所以如果你還在用機(jī)械鍵盤(pán),就將 MinGW-w64 放到其他非系統(tǒng)盤(pán)里,如果使用固態(tài)硬盤(pán),則可以放在安裝程序提示的默認(rèn)位置,或其他地方均可。
操作:點(diǎn)擊紅框中的“Browse”按鈕,以便更改 MinGW-w64 的安裝位置。
18.更改 MinGW-w64 的安裝位置
說(shuō)明:點(diǎn)開(kāi)綠框中的“此電腦”,就可以打開(kāi)一個(gè)樹(shù)狀列表,然后找到你想要將 MinGW-w64 安裝到的位置。你也可以點(diǎn)擊黃框中的“新建文件夾”按鈕,創(chuàng)建一個(gè)新的目錄。
操作:選擇好安裝的目錄后,點(diǎn)擊紅框中的“確定”按鈕,之后安裝程序?qū)?nbsp;MinGW-w64 安裝到那里。
19.確認(rèn) MinGW-w64 安裝目錄
說(shuō)明:界面中的 Space available 指的是你選擇的目錄,所在的硬盤(pán)分區(qū)的剩余空間,而 MinGW-w64 至少會(huì)占用 500 MB 的空間。Create shortcuts in Start Menu 是說(shuō)在開(kāi)始菜單創(chuàng)建 MinGW-w64 的快捷方式,一般默認(rèn)勾選即可。
操作:確認(rèn)安裝目錄沒(méi)問(wèn)題后,點(diǎn)擊紅框中的“Next”按鈕,開(kāi)始正式安裝 MinGW-w64 。
20.開(kāi)始下載 MinGW-w64 本體
說(shuō)明:安裝程序開(kāi)始連接服務(wù)器,并從中下載 MinGW-w64 的本體文件,視乎你的網(wǎng)絡(luò)環(huán)境,下載所需的時(shí)間會(huì)有所不同,如果你有其他事情要做,可以點(diǎn)擊“Cancel”按鈕,取消本次安裝。
操作:只需等待。
21.MinGW-w64 下載完成
說(shuō)明:MinGW-w64 已經(jīng)下載完成,我們可以在之前選擇的安裝目錄下,找到它的各種組件文件。
操作:點(diǎn)擊紅框中的“Next”按鈕,繼續(xù)下一個(gè)步驟。
22.關(guān)閉 MinGW-w64 安裝程序
說(shuō)明:MinGW-w64 的安裝程序已經(jīng)完成了它的使命,但 MinGW-w64 還沒(méi)有安裝完成,之后我們還需要進(jìn)行一些配置,才能正常使用它編譯源代碼。
操作:點(diǎn)擊紅框中的“Finish”按鈕,將關(guān)閉 MinGW-w64 安裝程序。
23.MinGW-w64 安裝目錄
說(shuō)明:MinGW-w64 下載完成后的安裝目錄,包含1個(gè)文件夾:mingw64,3個(gè)文件:mingw-w64.bat、uninstall.exe、uninstall.ini,和1個(gè)快捷方式:mingw-w64。雖然 MinGW-w64 已經(jīng)下載完成,但并沒(méi)有安裝完成,我們還需要配置一下操作系統(tǒng)的環(huán)境變量,將 MinGW-w64 的 bin 目錄加入其中,使操作系統(tǒng)可以找到那些編譯工具。
操作:雙擊紅框中的“mingw64”文件夾,進(jìn)入其中。
24.MinGW-w64 的 mingw64 文件夾
說(shuō)明:mingw64 中包含了一系列的文件夾,根據(jù)文件夾的名稱,大概能猜到它們是做什么用的,但我們暫時(shí)不需要完全明白,只需要知道其中 bin 文件夾中,存放了那些編譯工具即可。
操作:雙擊紅框中的“bin”文件夾,進(jìn)入其中。
25.MinGW-w64 的 bin 文件夾
說(shuō)明:bin 文件夾下包含了很多后綴名是 .exe 的可執(zhí)行程序,這些就是開(kāi)發(fā)時(shí)所需的工具,如:gcc.exe 是用來(lái)編譯 C程序的,g++.exe 是用來(lái)編譯 C++ 程序的,而 gdb.exe 則是用來(lái)調(diào)試程序的 debug 工具。
操作:點(diǎn)擊紅框中的地址欄,并復(fù)制(Ctrl + c)那一串地址。
26.此電腦
說(shuō)明:我們已經(jīng)復(fù)制了 MinGW-w64 的 bin 文件夾的地址,接下來(lái)只要將它添加到系統(tǒng)的環(huán)境變量中,就可以完成 MinGW-w64 的全部配置了。
操作:右鍵點(diǎn)擊“此電腦”,在彈出的菜單中點(diǎn)擊紅框中的“屬性”項(xiàng)。
27.計(jì)算機(jī)系統(tǒng)窗口
說(shuō)明:這個(gè)窗口也可以通過(guò)“控制面板” -> “系統(tǒng)和安全” -> “系統(tǒng)”來(lái)打開(kāi)。如果你不知道自己的系統(tǒng)是 32位 還是 64位,也可以在這里查看。
操作:點(diǎn)擊紅框中的“高級(jí)系統(tǒng)設(shè)置”鏈接,將打開(kāi)“系統(tǒng)屬性”窗口。
28.系統(tǒng)屬性窗口
說(shuō)明:所謂的“環(huán)境變量”其實(shí)就是各種程序的默認(rèn)安裝目錄,在那里有可執(zhí)行程序。
操作:點(diǎn)擊紅框中的“環(huán)境變量”按鈕,將打開(kāi)“環(huán)境變量”窗口。
29.系統(tǒng)環(huán)境變量窗口
說(shuō)明:在這個(gè)窗口中我們可以編輯系統(tǒng)的環(huán)境變量,很多軟件在安裝的時(shí)候,會(huì)自動(dòng)編輯環(huán)境變量。MinGW-w64 的安裝程序比較簡(jiǎn)陋,只能由我們手動(dòng)編輯。
操作:首先點(diǎn)擊選中綠框中的“Path”項(xiàng),然后再點(diǎn)擊紅框中的“編輯”按鈕。
30.編輯 Path 環(huán)境變量
說(shuō)明:這是 Windows 10 中的編輯界面,比之前的版本要清晰明了,操作簡(jiǎn)單了很多,也不容易出錯(cuò)了。
操作:點(diǎn)擊紅框中的“新建”按鈕,將創(chuàng)建一個(gè)新的空白變量位置。
31.新建 MinGW-w64 的環(huán)境變量
說(shuō)明:現(xiàn)在只需將之前復(fù)制的 MinGW-w64 的 bin 文件夾地址,復(fù)制到新增的空白變量位置里,即可完成 MinGW-w64 的配置工作。
操作:將 bin 文件夾地址,黏貼到紅框中的輸入框中。
32.添加 MinGW-w64 環(huán)境變量已完成
說(shuō)明:MinGW-w64 的環(huán)境變量已經(jīng)添加完畢。
操作:點(diǎn)擊紅框中的“確定”按鈕,MinGW-w64 的配置就完成了。
33.啟動(dòng)“命令提示符”
說(shuō)明:為了測(cè)試 MinGW-w64 是否配置成功,我們需要在“命令提示符”中執(zhí)行一個(gè)命令。所以要先啟動(dòng)“命令提示符”,值得注意的是各個(gè) Windows 版本的啟動(dòng)方式不同,但都可以通過(guò)打開(kāi)“運(yùn)行”窗口,輸入“cmd”來(lái)打開(kāi)它。
操作:右鍵點(diǎn)擊開(kāi)始按鈕,在彈出的菜單中點(diǎn)擊紅框中的“命令提示符”項(xiàng)。
34.命令提示符
說(shuō)明:MinGW-w64 是命令行工具,如果不與其他軟件配合,則只能通過(guò)“命令提示符”來(lái)調(diào)用。
操作:輸入“gcc -v” 并按回車(chē)鍵(Enter),將會(huì)顯示 MinGW-w64 的組件列表。
35.MinGW-w64 安裝完成
說(shuō)明:如果你的“命令提示符”顯示了一大串組件信息,那說(shuō)明你的 MinGW-w64 已經(jīng)安裝完成了,恭喜!
操作:從現(xiàn)在開(kāi)始你就可以用 MinGW-w64 來(lái)編譯 C程序 了。
五、使用 MinGW-w64 編譯源代碼
MinGW-w64 沒(méi)有圖形用戶界面,它其實(shí)是一組命令行工具集,任何操作都只能通過(guò)在“命令提示符”中輸入命令的形式來(lái)執(zhí)行。對(duì)于編程來(lái)說(shuō),這種命令行工具尤其獨(dú)特的優(yōu)勢(shì),那就是不用雙手離開(kāi)鍵盤(pán),即可完成所有操作。鼠標(biāo)雖然使用簡(jiǎn)單方便,但效率仍然不及鍵盤(pán)。而且,給一個(gè)程序開(kāi)發(fā)圖形用戶界面,是一件非常麻煩的事情,因?yàn)樗桥c平臺(tái)緊密相關(guān)的,你要考慮各個(gè)平臺(tái)的不同。
當(dāng)然,世界上還是有很多擁有漂亮的圖形用戶界面的集成開(kāi)發(fā)環(huán)境(IDE),其中的一些內(nèi)置的編譯器就是 MinGW-w64(GCC) ,例如:Code Lite、Code::Blocks 等。
A.編譯命令 gcc
格式:gcc 源代碼文件的完整名字
示例:gcc hello.c
說(shuō)明:“gcc”是 MinGW-w64 內(nèi)置的編譯命令,“hello.c”則是我們要編譯的源代碼文件的名字。
注意:首先,“gcc”命令與源代碼的文件名之間有一個(gè)空格。其次,文件名必須完整正確,不能省略后綴名“.c”。
因?yàn)?MinGW-w64 本來(lái)就是將 GCC 移植到 Windows 上的產(chǎn)物,所以操作方式和 GCC 一樣,只是在 Linux 下命令是被鍵入到“終端”中,而 Windows 下則是被鍵入到“命令提示符”里。
B.創(chuàng)建 hello.c 源代碼文件
在用“gcc”命令編譯源代碼之前,我們首先要有一個(gè)存儲(chǔ)了C語(yǔ)言代碼的文件。C語(yǔ)言的源代碼文件其實(shí)就是普通的文本文件,唯一的區(qū)別就是后綴名不同,文本文件的后綴名是“.txt”,而C語(yǔ)言源代碼文件的后綴名是“.c”。
所以我們新建一個(gè)文本文件,名字可以任意取,我這里就將其命名為“hello”,現(xiàn)在文件的完整名字就是“hello.txt”了。之后我們只需要把“hello.txt”的后綴名“.txt”更改為“.c”后綴名,這樣就得到了 C語(yǔ)言 源代碼文件“hello.c”了。
C.編寫(xiě) hello, world 源代碼
這里用 Windows 自帶的記事本或任意文本編輯器,將“hello.c”這個(gè)源代碼文件打開(kāi),然后將上圖所示的測(cè)試代碼鍵入到文件中,最后保存文件即可?,F(xiàn)在測(cè)試用的源代碼文件已經(jīng)準(zhǔn)備完成,我們可以進(jìn)行下一步的編譯了。
這段代碼是最基礎(chǔ)的 hello, world 程序,會(huì)在屏幕上顯示“hello, world”這段文字。相信這是學(xué)編程的大多數(shù)人,入門(mén)時(shí)的第一個(gè)程序,所以這里也就不再贅述了。
D.編譯 hello.c 源代碼
之前說(shuō)過(guò) MinGW-w64 是命令行工具沒(méi)有圖形用戶界面,所以編譯操作需要在命令提示符中進(jìn)行。
首先我們打開(kāi)命令提示符,然后要將工作目錄定位到源代碼文件的存儲(chǔ)位置,這一步非常重要,沒(méi)有接觸過(guò)命令行工具的人,往往會(huì)在這里出錯(cuò)。DOS 命令“cd”可以改變當(dāng)前的工作目錄,具體做法是“cd”命令后面加上目標(biāo)工作目錄,如上圖第三行,就是重新定位到 E盤(pán)的 a 目錄下。使用完“cd”命令后,還要再鍵入一次定位到的目錄的地址,這樣才會(huì)轉(zhuǎn)移過(guò)去,但只需要鍵入盤(pán)符即可,并不需要鍵入完整地址,如上圖第四行。工作目錄重新定位后,如上圖第五行所示,工作目錄已經(jīng)從 C:\Users\lenovo 更改為 E:\a 。
現(xiàn)在我們只需要執(zhí)行“gcc hello.c”這行命令,就可以將源代碼編譯為可執(zhí)行程序了。
E.編譯后生成 a.exe 可執(zhí)行程序
如上圖所示,a.exe 就是編譯后生成的可執(zhí)行程序。因?yàn)槲覀兙幾g時(shí)沒(méi)有指定生成的程序名,所以 MinGW-w64 默認(rèn)將程序命名為 a ,加上后綴名就是 a.exe 了。如果我們想在編譯時(shí)就指定生成的程序名,就需要使用“gcc”命令的“-o”選項(xiàng)了。
F.帶 -o 參數(shù)的 gcc 命令
格式:gcc 源代碼文件的名字 -o 編譯后程序的名字
示例:gcc hello.c -o hello.exe
說(shuō)明:“gcc”這個(gè)命令擁有很多內(nèi)置選項(xiàng),其中“-o”表示將它后面的單詞設(shè)置編譯后文件的名字。
注意:選項(xiàng)“o”是英文的小寫(xiě)字母,并不是數(shù)字零,并且它的后面只能是想設(shè)置的文件名。
這種在編譯時(shí)命名的方法好像很雞肋,初看好像只是幫我們省了一些時(shí)間,畢竟我們也可以在編譯后手動(dòng)改名。這種想法是因?yàn)槲覀兊某绦蜻€很簡(jiǎn)單,只有一個(gè)源代碼文件,也只會(huì)編譯出一個(gè)程序。當(dāng)以后我們的程序變復(fù)雜了,可能會(huì)在一個(gè)工作目錄下編譯出復(fù)數(shù)個(gè)程序,這時(shí)就必須用 -o 選項(xiàng)了,否則編譯出的程序都叫 a.exe ,會(huì)在生成時(shí)互相覆蓋掉。
G.編譯 hello.c 成 hello.exe
同樣要先定位到我們?cè)谟玫墓ぷ髂夸浵?,然后?zhí)行“gcc hello.c -o hello.exe”這條命令,就會(huì)編譯生成一個(gè)名叫 hello.exe 的可執(zhí)行文件了。
H.編譯后生成 hello.exe 可執(zhí)行程序
執(zhí)行完“gcc hello.c -o hello.exe”編譯命令后,會(huì)在工作目錄中生成 hello.exe 可執(zhí)行程序,這就是我們得到的最終成果。
I.雙擊運(yùn)行 hello.exe
用鼠標(biāo)雙擊運(yùn)行編譯后的 hello.exe 程序,會(huì)啟動(dòng)一個(gè)命令提示符窗口,并在里面顯示“hello, world”這幾個(gè)字符。這代表我們成功的完成了一次編譯,將那段C語(yǔ)言代碼編譯成了計(jì)算機(jī)可以執(zhí)行的程序。
J.在命令提示符中運(yùn)行 hello.exe
想要運(yùn)行編譯好的程序,并不是非要用鼠標(biāo)雙擊程序啟動(dòng),也可在命令提示符中直接輸入編譯后的程序名稱,例如輸入“hello.exe”,也可以直接運(yùn)行程序。甚至可以省略程序的后綴名,只需輸入“hello”即可,程序同樣會(huì)正確的運(yùn)行。
六、一些額外的設(shè)置
這些額外的設(shè)置,可以使 MinGW-w64 使用起來(lái)更方便。因?yàn)?ldquo;gcc”命令有些麻煩,每次編譯都要輸入類(lèi)似“gcc hello.c -o hello.exe”這樣的一串字符,所以我們?yōu)榱撕?jiǎn)化這一步驟,轉(zhuǎn)而使用“make”命令。只是“make”是 Linux 和 類(lèi)Unix 下的工具,所以在 MinGW-w64 中需要一些額外的修改。
1).創(chuàng)建 gcc.exe 的副本 cc.exe
首先復(fù)制一個(gè)“gcc.exe”的副本,然后將其更名為“cc.exe”即可。
2).創(chuàng)建 mingw32-make.exe 的副本 make.exe
與對(duì)“gcc.exe”的操作相同,復(fù)制一個(gè)“mingw32-make”的副本,然后更名為“make.exe”。
3).使用 make 命令編譯源代碼
現(xiàn)在我們就可以使用“make”命令來(lái)編譯源代碼,只需要輸入“make hello”即可編譯生成“hello.exe”了。
七、進(jìn)階
上述只是簡(jiǎn)單的編譯源代碼的方法,適用于單個(gè)或少量源代碼文件,如果是復(fù)雜的大型程序,要用到 makefile 來(lái)組織源代碼時(shí),就需要 mingw32-make(修改后使用 make) 命令了。
如果程序編譯或運(yùn)行出錯(cuò),需要調(diào)試源代碼,則可以使用 gdb 命令,來(lái)幫助我們確定問(wèn)題產(chǎn)生在哪里。
如果代碼沒(méi)有明顯的編譯錯(cuò)誤,運(yùn)行時(shí)也沒(méi)有邏輯錯(cuò)誤,則在最終編譯為可發(fā)布版的程序時(shí),我們還要考慮編譯優(yōu)化的問(wèn)題,以便生成的程序文件擁有更小的體積,和更高的運(yùn)行效率。gcc 命令有 -00 、 -01 、 -02 、 -03 這幾個(gè)優(yōu)化選項(xiàng),其中 -00 是默認(rèn)選項(xiàng),意思是無(wú)優(yōu)化,剩下的幾個(gè)選項(xiàng)隨數(shù)字的增大,優(yōu)化程度也會(huì)逐漸增強(qiáng)。
八、問(wèn)題列表
這里會(huì)列出一些可以預(yù)見(jiàn)的問(wèn)題,并提供解決問(wèn)題方法。
①.如果“自動(dòng)安裝程序”無(wú)法下載組件
說(shuō)明:如果網(wǎng)絡(luò)環(huán)境不太好,或因?qū)拵峁┥痰南拗?,可能?huì)導(dǎo)致程序下載組件非常的緩慢,甚至?xí)?。這種時(shí)候,我們可以不用安裝程序,而是嘗試直接手動(dòng)下載 MinGW-w64 的壓縮包。這種方法的好處是可以使用第三方下載軟件,而這種下載軟件大多提供加速下載,以及斷點(diǎn)續(xù)傳功能?;灸芙鉀Q無(wú)法下載的問(wèn)題。
操作:如上圖所示。將第四章、第3節(jié) SourceForge 中的 MinGW-w64 下載頁(yè)面往下拉,就能看到這部分的頁(yè)面。其中,紅框內(nèi)的鏈接,就是 MinGW-w64 的壓縮包手動(dòng)下載鏈接(6.3.0版),只需根據(jù)需要選擇對(duì)應(yīng)的鏈接下載即可。例如:x86_64-win32-seh ,x86_64 指 64位,win32 指可開(kāi)發(fā) Windows 程序,seh 指 異常處理模型。
將 MinGW-w64 壓縮包下載到本地后,解壓縮,然后就可以照常進(jìn)行配置了。
相關(guān)文章
WebStorm如何調(diào)試Vue項(xiàng)目? webstorm配置vue開(kāi)發(fā)環(huán)境指南
WebStorm 支持多種調(diào)試工具,包括瀏覽器的開(kāi)發(fā)者工具,但本文主要講解的是使用 WebStorm 自帶的調(diào)試功能2025-04-15VSCode和webstorm怎么設(shè)置綠色護(hù)眼背景? 綠豆沙背景色的設(shè)置方法
護(hù)眼色一定程度能保護(hù)眼睛,緩解疲勞,VSCode和webstorm這兩款常用的軟件怎么設(shè)置護(hù)眼色呢?詳細(xì)請(qǐng)看下文介紹2025-04-15WebStorm常用插件以及實(shí)用設(shè)置分享
WebStorm本身已經(jīng)足夠強(qiáng)大,但一些優(yōu)秀的插件能錦上添花,顯著提升開(kāi)發(fā)效率,詳細(xì)請(qǐng)看下文介紹2025-04-15如何安裝配置WebStorm? WebStorm安裝與使用全方位指南
WebStorm軟件在前端和后端開(kāi)發(fā)領(lǐng)域都備受青睞,很多朋友不知道該怎么下載安裝,下面我們就來(lái)看看詳細(xì)的安裝配置教程2025-04-15Webstorm怎么配置? Webstorm入門(mén)之軟件配置教程
WebStorm是一款功能強(qiáng)大的集成開(kāi)發(fā)環(huán)境(IDE),支持各種前端開(kāi)發(fā)技術(shù),今天我們就來(lái)看看Webstorm的配置教程2025-04-15Webstorm怎么設(shè)置字體大小/背景顏色/背景圖片?
WebStorm 允許您自定義界面顏色,以創(chuàng)建更個(gè)性化和美觀的工作空間,今天我們就來(lái)看看Webstorm改變字體大小、背景顏色、設(shè)置背景圖片的方法2025-04-15VScode上ESP32開(kāi)發(fā)插件安裝失敗怎么辦?
VScode上安裝PlatformIO插件能成功安裝,嘗試卸載VScode并刪除插件,這些錯(cuò)誤仍然存在,下面我們就來(lái)看看這個(gè)問(wèn)題的解決辦法2025-04-03提升代碼搜索效率! VSCode里DeepSeek插件安裝與配置指南
今天我們將向大家介紹如何在Visual Studio Code中安裝并配置 DeepSeek 插件,幫助你更高效地進(jìn)行代碼搜索2025-04-07提升你的編程效率! VSCode的初級(jí)使用教程超詳細(xì)版
VSCode是一款免費(fèi)且開(kāi)源的代碼編輯器,因其強(qiáng)大的功能和良好的用戶體驗(yàn)而廣受歡迎,本文將詳細(xì)介紹 VSCode 的基本使用方法,并通過(guò)插圖幫助你更好地理解2025-04-03- 今天我們來(lái)聊聊如何安裝和配置VS Code,讓它成為你編程路上的得力助手,這個(gè)過(guò)程其實(shí)很簡(jiǎn)單,只要跟著我的步驟走,你絕對(duì)能搞定2025-04-03