MinGW-w64安裝教程——著名C/C++編譯器GCC的Windows版本
本文主要講述如何安裝 C語言 編譯器——MinGW-w64,特點(diǎn)是文章附有完整詳細(xì)的實(shí)際安裝過程截圖,文字反而起說明提示作用。
編寫本文的原因始于我的一個(gè)觀點(diǎn):圖片可以比文字傳達(dá)更多的信息邓了,也能讓其他人更容易理解作者的意圖及思想。因此,我將安裝 MinGW-w64 的過程和步驟垢揩,編寫成了這篇以圖片為主的教程,為了讓看到這篇文章的任何人敛瓷,都可以很容易按照圖片所示正確安裝 MinGW-w64叁巨。
我希望寫出一篇即使是⑨也可以看懂的 MinGW-w64 安裝教程。
一呐籽、什么是 MinGW-w64 锋勺?
MinGW 的全稱是:Minimalist GNU on Windows 。它實(shí)際上是將經(jīng)典的開源 C語言 編譯器 GCC 移植到了 Windows 平臺下狡蝶,并且包含了 Win32API 庶橱,因此可以將源代碼編譯為可在 Windows 中運(yùn)行的可執(zhí)行程序。而且還可以使用一些 Windows 不具備的贪惹,Linux平臺下的開發(fā)工具苏章。一句話來概括: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 是開源軟件酬诀,可以免費(fèi)使用脏嚷。
2. MinGW-w64 由一個(gè)活躍的開源社區(qū)在持續(xù)維護(hù),因此不會過時(shí)瞒御。
3. MinGW-w64 支持最新的 C語言 標(biāo)準(zhǔn)父叙。
4. MinGW-w64 使用 Windows 的C語言運(yùn)行庫,因此編譯出的程序不需要第三方 DLL 肴裙,可以直接在 Windows 下運(yùn)行趾唱。
5. 那些著名的開源 IDE 實(shí)際只是將 MinGW-w64 封裝了起來,使它擁有友好的圖形化界面蜻懦,簡化了操作甜癞,但內(nèi)部核心仍然是 MinGW-w64。
MinGW-w64 是穩(wěn)定可靠的宛乃、持續(xù)更新的 C/C++ 編譯器悠咱,使用它可以免去很多麻煩,不用擔(dān)心跟不上時(shí)代征炼,也不用擔(dān)心編譯器本身有bug析既,可以放心的去編寫程序。
三谆奥、MinGW-w64 適合做什么眼坏?
對于熟悉 MinGW-w64 的高手而言,它可以編譯任何 C語言 程序酸些。但對于一般人來說宰译,MinGW-w64 太過簡陋,連圖形用戶界面都沒有魄懂。這讓習(xí)慣使用鼠標(biāo)的人沿侈,感到很痛苦。雖然也可以通過一些配置逢渔,讓 MinGW-w64 擁有圖形用戶界面肋坚,但那個(gè)過程非常麻煩乡括。
除此之外肃廓,編譯復(fù)雜的程序時(shí),還需要你會編寫 Makefile 诲泌,否則只能一個(gè)文件一個(gè)文件的編譯盲赊,可想而知會多么辛苦。
但對于初學(xué) C語言 的人來說敷扫,MinGW-w64 是正合適的編譯器哀蘑,至少黑色的命令提示符界面很有編程的氣氛诚卸,感覺很酷。
在剛開始學(xué) C語言 時(shí)绘迁,所有代碼通常都寫在一個(gè)文件中合溺,只要輸入幾個(gè)簡單的命令,就能用 MinGW-w64 編譯成可執(zhí)行文件缀台。雖然 VS2015 等編譯器棠赛,只要點(diǎn)擊下鼠標(biāo)就可以完成編譯,但它會自動生成一大堆工程文件膛腐,讓初學(xué)者摸不著頭腦睛约。而 MinGW-w64 則只會生成一個(gè)可執(zhí)行文件。
如果對 MinGW-w64 和 VS2015 等編譯器進(jìn)行一下形容哲身,那么 MinGW-w64 是手動的辩涝,而 VS2015 等編譯器則是自動的。因此 MinGW-w64 的編譯過程更加直觀容易理解勘天,也比較適合C語言學(xué)習(xí)怔揩。
總而言之,對于一般人來說脯丝,MinGW-w64 適合學(xué)習(xí) C語言 時(shí)使用沧踏,真正工作還是用 VS2015 更好。當(dāng)然如果您是在 Linux 下工作巾钉,那么Code::Blocks可能是一個(gè)選擇翘狱,不過最大的可能是您必須習(xí)慣使用 GCC 來編譯程序。
四砰苍、下載和安裝 MinGW-w64
在開始安裝之前潦匈,請先確認(rèn)您滿足以下幾個(gè)條件。
1.您的電腦已經(jīng)連接到網(wǎng)絡(luò)赚导。
2.您的電腦硬盤有500MB的剩余空間茬缩。
3.您現(xiàn)在有充足的時(shí)間。(受您當(dāng)前網(wǎng)速的影響吼旧,安裝過程可能會花費(fèi)10幾分鐘或1個(gè)小時(shí)以上的時(shí)間凰锡。)
如果您確認(rèn),您滿足了上述條件圈暗,那么就可以開始安裝 MinGW-w64 了掂为。
注意:教程中的圖片都是實(shí)際安裝時(shí)的原比例截圖,如果您看不清圖片中的提示語员串,可以將圖片放大勇哗,不會影響清晰度。想要觀看大圖寸齐,只需點(diǎn)擊圖片欲诺,就會跳轉(zhuǎn)到原始尺寸的圖片頁面中抄谐。如果前面的方法失效,您仍然可以通過瀏覽器放大頁面的功能扰法,放大圖片蛹含,例如在 Chrome 瀏覽器下,您可以按住 Ctrl 鍵塞颁,然后滾動鼠標(biāo)滾輪挣惰,即可放大頁面。
1.MinGW-w64官方網(wǎng)站首頁(http://mingw-w64.org/)
說明:MinGW-w64 官方網(wǎng)站的地址是:http://mingw-w64.org 殴边,首頁樣式如上圖所示憎茂。
操作:點(diǎn)擊紅框中的“Downloads”超鏈接,進(jìn)入 MinGW-w64 下載詳情頁面锤岸。
說明:這是 MinGW-w64 的下載詳情頁面竖幔。首先看到一個(gè)標(biāo)題為 Pre-built toolchains and packages 的列表,這里面是包含 MinGW-w64 及特定工具的整合包是偷。我們這個(gè)教程只安裝 MinGW-w64 拳氢,所以只需下載 MinGW-w64 即可。
操作:點(diǎn)擊紅框中的“SourceForge”超鏈接蛋铆,就會進(jìn)入 SourceForge 中的 MinGW-w64 下載頁面馋评。
3.SourceForge 中的 MinGW-w64 下載頁面
說明:MinGW-w64 的代碼和可執(zhí)行文件被托管存儲在 SourceForge 上,在這個(gè)頁面上就可以直接下載 MinGW-w64 了刺啦。MinGW-w64 是非常復(fù)雜的留特,編譯器大多都是如此,為了適應(yīng)各種操作系統(tǒng)玛瘸,它們的組件會存在各種不同的版本蜕青,以適應(yīng)不同的環(huán)境。所以糊渊,我們直接下載 MinGW-w64 的安裝程序右核,它會按照我們的需要,自動下載適合的組件渺绒,并將它們組織在一起贺喝。
操作:點(diǎn)擊紅框中的“Download mingw-w64-install.exe”超鏈接,將會下載這個(gè) MinGW-w64 自動安裝的程序宗兼。
說明:5秒鐘之后躏鱼,瀏覽器會自動下載 mingw-w64-install.exe 。
操作:只需等待针炉。
注意:如果瀏覽器沒有自動下載挠他,則可以點(diǎn)擊黃框中的“direct link”超鏈接,手動下載篡帕。如果下載速度非常慢殖侵,可以點(diǎn)擊綠框中的“mirror”超鏈接,選擇一個(gè)離自己近的鏡像網(wǎng)站镰烧,可能會獲得較高(無法保證)的下載速度拢军。
說明:如果你的瀏覽器是 chrome ,那么在瀏覽器下部怔鳖,會出現(xiàn)這樣一個(gè)下載標(biāo)簽茉唉。
操作:只需等待。
說明:這就是 MinGW-w64 的安裝程序结执。它本質(zhì)上是一個(gè)下載程序度陆,會根據(jù)我們之后的一些設(shè)置,選擇性的下載相應(yīng)的組件献幔,并將它們組織在一起懂傀。所以,運(yùn)行前要確定網(wǎng)絡(luò)通暢蜡感,而且你有足夠的時(shí)間蹬蚁,因?yàn)楦鶕?jù)你的網(wǎng)速,它可能需要花費(fèi)一定的時(shí)間來下載郑兴。
操作:用鼠標(biāo)雙擊運(yùn)行 mingw-w64-install.exe 犀斋。
注意:如果出現(xiàn)無法運(yùn)行,或者安裝出錯(cuò)情连,你可以右鍵點(diǎn)擊它叽粹,并在彈出窗口中選擇“以管理員身份運(yùn)行”選項(xiàng),重新運(yùn)行 mingw-w64-install.exe 却舀,基本可以解決大部分問題球榆。
說明:歡迎使用 MinGW-w64 在線安裝程序。
操作:點(diǎn)擊紅框中的 “Next” 按鈕禁筏,將會進(jìn)入下一步安裝步驟持钉。
說明:這里程序正在鏈接服務(wù)器,以便獲取存儲在倉庫中的 MinGW-w64 的文件明細(xì)篱昔。
操作:只需等待每强。
說明:在這個(gè)界面,你可以根據(jù)所要搭建的開發(fā)環(huán)境州刽,選擇不同的選項(xiàng)空执,從而下載所需的組件。
操作:選擇 Version穗椅、Architecture辨绊、Threads、Exception匹表、Build revision 下拉列表中適當(dāng)?shù)倪x項(xiàng)门坷,接下來將會詳細(xì)介紹這些選項(xiàng)宣鄙。
說明:Version 指的是 gcc 的版本,如果沒有特殊的需求默蚌,一般選擇最高的版本號即可冻晤。
操作:在這個(gè)版本中,最高版本是 6.2.0 绸吸,選中它即可鼻弧。
說明:Architecture 是指電腦系統(tǒng)是 32位 還是 64位,根據(jù)你的電腦系統(tǒng)做出對應(yīng)選擇锦茁。
操作:我的電腦系統(tǒng)是 64位 的攘轩,所以我選擇了 x86_64,如果你是 32位 系統(tǒng)码俩,則選擇 i686 即可度帮。
說明:這個(gè)世界上只有兩種操作系統(tǒng),符合 posix 協(xié)議的握玛,和 Windows 够傍。如這個(gè)笑話所說的,如果你想要開發(fā) Windows 程序挠铲,需要選擇 win32 冕屯,而開發(fā) Linux、Unix拂苹、Mac OS 等其他操作系統(tǒng)下的程序安聘,則需要選擇 posix 。
操作:我只開發(fā)在 Windows 下運(yùn)行的程序瓢棒,所以選擇了 win32 浴韭。
說明:異常處理在開發(fā)中非常重要,你在開發(fā)的過程中脯宿,大部分的時(shí)間會耗在處理各種異常情況上念颈。如果你之前選擇了 64位,則這里有兩個(gè)異常處理模型供你選擇连霉,seh 是新發(fā)明的榴芳,而 sjlj 則是古老的。seh 性能比較好跺撼,但不支持 32位窟感。 sjlj 穩(wěn)定性好,支持 32位歉井。
操作:我這里選擇了 seh 柿祈。
說明:選擇了 32位 后,則可以用 dwarf 和 sjlj 兩種異常處理模型。同樣的躏嚎,dwarf 的性能要優(yōu)于 sjlj 蜜自,可以它不支持 64位 。
操作:建議選擇 dwarf 紧索。
說明:暫時(shí)沒弄明白是做什么的袁辈。(知道的人請留言)
操作:選擇默認(rèn)選項(xiàng)菜谣。
說明:綠框中就是我的 MinGW-w64 安裝配置單珠漂,gcc 是 6.2.0 版本,系統(tǒng)架構(gòu)是 64位尾膊,接口協(xié)議是 win32媳危,異常處理模型是 seh,Build revision 是 1 冈敛。
操作:點(diǎn)擊紅框中的“Next”按鈕待笑,進(jìn)入下一個(gè)步驟。
說明:在這里選擇 MinGW-w64 將要安裝到哪個(gè)目錄中去抓谴。安裝程序默認(rèn)會將 MinGW-w64 安裝在 C盤 暮蹂,而在 Windows 操作系統(tǒng)中 C盤 是系統(tǒng)盤,操作系統(tǒng)會被安裝在這個(gè)盤里癌压,而按照一般的習(xí)慣仰泻,我們盡量不把應(yīng)用軟件安裝載系統(tǒng)盤里。因?yàn)橐郧暗碾娔X使用的是機(jī)械硬盤滩届,而機(jī)械硬盤頻繁讀寫會降低效率集侯,所以盡量將操作系統(tǒng)與應(yīng)用軟件放在不同的硬盤分區(qū)下。當(dāng)然帜消,現(xiàn)在的電腦大部分都配備了固態(tài)硬盤(SSD)棠枉,而且通常作為系統(tǒng)盤來使用,因此已經(jīng)沒有讀寫效率的問題了泡挺。所以如果你還在用機(jī)械鍵盤辈讶,就將 MinGW-w64 放到其他非系統(tǒng)盤里,如果使用固態(tài)硬盤娄猫,則可以放在安裝程序提示的默認(rèn)位置贱除,或其他地方均可。
操作:點(diǎn)擊紅框中的“Browse”按鈕稚新,以便更改 MinGW-w64 的安裝位置勘伺。
說明:點(diǎn)開綠框中的“此電腦”,就可以打開一個(gè)樹狀列表褂删,然后找到你想要將 MinGW-w64 安裝到的位置飞醉。你也可以點(diǎn)擊黃框中的“新建文件夾”按鈕,創(chuàng)建一個(gè)新的目錄。
操作:選擇好安裝的目錄后缅帘,點(diǎn)擊紅框中的“確定”按鈕轴术,之后安裝程序?qū)?MinGW-w64 安裝到那里。
說明:界面中的 Space available 指的是你選擇的目錄钦无,所在的硬盤分區(qū)的剩余空間逗栽,而 MinGW-w64 至少會占用 500 MB 的空間。Create shortcuts in Start Menu 是說在開始菜單創(chuàng)建 MinGW-w64 的快捷方式失暂,一般默認(rèn)勾選即可彼宠。
操作:確認(rèn)安裝目錄沒問題后,點(diǎn)擊紅框中的“Next”按鈕弟塞,開始正式安裝 MinGW-w64 凭峡。
說明:安裝程序開始連接服務(wù)器,并從中下載 MinGW-w64 的本體文件决记,視乎你的網(wǎng)絡(luò)環(huán)境摧冀,下載所需的時(shí)間會有所不同,如果你有其他事情要做系宫,可以點(diǎn)擊“Cancel”按鈕索昂,取消本次安裝。
操作:只需等待扩借。
說明:MinGW-w64 已經(jīng)下載完成椒惨,我們可以在之前選擇的安裝目錄下,找到它的各種組件文件往枷。
操作:點(diǎn)擊紅框中的“Next”按鈕框产,繼續(xù)下一個(gè)步驟。
說明:MinGW-w64 的安裝程序已經(jīng)完成了它的使命错洁,但 MinGW-w64 還沒有安裝完成秉宿,之后我們還需要進(jìn)行一些配置,才能正常使用它編譯源代碼屯碴。
操作:點(diǎn)擊紅框中的“Finish”按鈕描睦,將關(guān)閉 MinGW-w64 安裝程序。
說明:MinGW-w64 下載完成后的安裝目錄导而,包含1個(gè)文件夾:mingw64忱叭,3個(gè)文件:mingw-w64.bat、uninstall.exe今艺、uninstall.ini韵丑,和1個(gè)快捷方式:mingw-w64。雖然 MinGW-w64 已經(jīng)下載完成虚缎,但并沒有安裝完成撵彻,我們還需要配置一下操作系統(tǒng)的環(huán)境變量,將 MinGW-w64 的 bin 目錄加入其中,使操作系統(tǒng)可以找到那些編譯工具陌僵。
操作:雙擊紅框中的“mingw64”文件夾轴合,進(jìn)入其中。
說明:mingw64 中包含了一系列的文件夾碗短,根據(jù)文件夾的名稱受葛,大概能猜到它們是做什么用的,但我們暫時(shí)不需要完全明白偎谁,只需要知道其中 bin 文件夾中总滩,存放了那些編譯工具即可。
操作:雙擊紅框中的“bin”文件夾搭盾,進(jìn)入其中咳秉。
說明:bin 文件夾下包含了很多后綴名是 .exe 的可執(zhí)行程序婉支,這些就是開發(fā)時(shí)所需的工具鸯隅,如:gcc.exe 是用來編譯 C程序的,g++.exe 是用來編譯 C++ 程序的向挖,而 gdb.exe 則是用來調(diào)試程序的 debug 工具蝌以。
操作:點(diǎn)擊紅框中的地址欄,并復(fù)制(Ctrl + c)那一串地址何之。
說明:我們已經(jīng)復(fù)制了 MinGW-w64 的 bin 文件夾的地址,接下來只要將它添加到系統(tǒng)的環(huán)境變量中,就可以完成 MinGW-w64 的全部配置了瘤载。
操作:右鍵點(diǎn)擊“此電腦”帅霜,在彈出的菜單中點(diǎn)擊紅框中的“屬性”項(xiàng)。
說明:這個(gè)窗口也可以通過“控制面板” -> “系統(tǒng)和安全” -> “系統(tǒng)”來打開蒜危。如果你不知道自己的系統(tǒng)是 32位 還是 64位虱痕,也可以在這里查看。
操作:點(diǎn)擊紅框中的“高級系統(tǒng)設(shè)置”鏈接辐赞,將打開“系統(tǒng)屬性”窗口部翘。
說明:所謂的“環(huán)境變量”其實(shí)就是各種程序的默認(rèn)安裝目錄,在那里有可執(zhí)行程序响委。
操作:點(diǎn)擊紅框中的“環(huán)境變量”按鈕新思,將打開“環(huán)境變量”窗口。
說明:在這個(gè)窗口中我們可以編輯系統(tǒng)的環(huán)境變量赘风,很多軟件在安裝的時(shí)候夹囚,會自動編輯環(huán)境變量。MinGW-w64 的安裝程序比較簡陋邀窃,只能由我們手動編輯荸哟。
操作:首先點(diǎn)擊選中綠框中的“Path”項(xiàng),然后再點(diǎn)擊紅框中的“編輯”按鈕。
說明:這是 Windows 10 中的編輯界面敲茄,比之前的版本要清晰明了位谋,操作簡單了很多,也不容易出錯(cuò)了堰燎。
操作:點(diǎn)擊紅框中的“新建”按鈕掏父,將創(chuàng)建一個(gè)新的空白變量位置。
說明:現(xiàn)在只需將之前復(fù)制的 MinGW-w64 的 bin 文件夾地址秆剪,復(fù)制到新增的空白變量位置里赊淑,即可完成 MinGW-w64 的配置工作。
操作:將 bin 文件夾地址仅讽,黏貼到紅框中的輸入框中陶缺。
說明:MinGW-w64 的環(huán)境變量已經(jīng)添加完畢。
操作:點(diǎn)擊紅框中的“確定”按鈕洁灵,MinGW-w64 的配置就完成了饱岸。
說明:為了測試 MinGW-w64 是否配置成功,我們需要在“命令提示符”中執(zhí)行一個(gè)命令徽千。所以要先啟動“命令提示符”苫费,值得注意的是各個(gè) Windows 版本的啟動方式不同,但都可以通過打開“運(yùn)行”窗口双抽,輸入“cmd”來打開它百框。
操作:右鍵點(diǎn)擊開始按鈕,在彈出的菜單中點(diǎn)擊紅框中的“命令提示符”項(xiàng)牍汹。
說明:MinGW-w64 是命令行工具铐维,如果不與其他軟件配合,則只能通過“命令提示符”來調(diào)用慎菲。
操作:輸入“gcc -v” 并按回車鍵(Enter)嫁蛇,將會顯示 MinGW-w64 的組件列表。
說明:如果你的“命令提示符”顯示了一大串組件信息钧嘶,那說明你的 MinGW-w64 已經(jīng)安裝完成了棠众,恭喜!
操作:從現(xiàn)在開始你就可以用 MinGW-w64 來編譯 C程序 了有决。
五闸拿、使用 MinGW-w64 ****編譯源代碼
MinGW-w64 沒有圖形用戶界面,它其實(shí)是一組命令行工具集书幕,任何操作都只能通過在“命令提示符”中輸入命令的形式來執(zhí)行新荤。對于編程來說,這種命令行工具尤其獨(dú)特的優(yōu)勢台汇,那就是不用雙手離開鍵盤苛骨,即可完成所有操作篱瞎。鼠標(biāo)雖然使用簡單方便,但效率仍然不及鍵盤痒芝。而且俐筋,給一個(gè)程序開發(fā)圖形用戶界面,是一件非常麻煩的事情严衬,因?yàn)樗桥c平臺緊密相關(guān)的澄者,你要考慮各個(gè)平臺的不同。
當(dāng)然请琳,世界上還是有很多擁有漂亮的圖形用戶界面的集成開發(fā)環(huán)境(IDE)粱挡,其中的一些內(nèi)置的編譯器就是 MinGW-w64(GCC) ,例如:Code Lite俄精、Code::Blocks 等询筏。
格式:gcc 源代碼文件的完整名字
示例:gcc hello.c
說明:“gcc”是 MinGW-w64 內(nèi)置的編譯命令,“hello.c”則是我們要編譯的源代碼文件的名字竖慧。
注意:首先嫌套,“gcc”命令與源代碼的文件名之間有一個(gè)空格。其次测蘑,文件名必須完整正確灌危,不能省略后綴名“.c”。
因?yàn)?MinGW-w64 本來就是將 GCC 移植到 Windows 上的產(chǎn)物碳胳,所以操作方式和 GCC 一樣,只是在 Linux 下命令是被鍵入到“終端”中沫勿,而 Windows 下則是被鍵入到“命令提示符”里挨约。
在用“gcc”命令編譯源代碼之前,我們首先要有一個(gè)存儲了C語言代碼的文件产雹。C語言的源代碼文件其實(shí)就是普通的文本文件诫惭,唯一的區(qū)別就是后綴名不同,文本文件的后綴名是“.txt”蔓挖,而C語言源代碼文件的后綴名是“.c”夕土。
所以我們新建一個(gè)文本文件,名字可以任意取瘟判,我這里就將其命名為“hello”怨绣,現(xiàn)在文件的完整名字就是“hello.txt”了。之后我們只需要把“hello.txt”的后綴名“.txt”更改為“.c”后綴名拷获,這樣就得到了 C語言 源代碼文件“hello.c”了篮撑。
這里用 Windows 自帶的記事本或任意文本編輯器,將“hello.c”這個(gè)源代碼文件打開匆瓜,然后將上圖所示的測試代碼鍵入到文件中赢笨,最后保存文件即可∥打颍現(xiàn)在測試用的源代碼文件已經(jīng)準(zhǔn)備完成,我們可以進(jìn)行下一步的編譯了茧妒。
這段代碼是最基礎(chǔ)的 hello, world 程序萧吠,會在屏幕上顯示“hello, world”這段文字。相信這是學(xué)編程的大多數(shù)人桐筏,入門時(shí)的第一個(gè)程序怎憋,所以這里也就不再贅述了。
之前說過 MinGW-w64 是命令行工具沒有圖形用戶界面九昧,所以編譯操作需要在命令提示符中進(jìn)行绊袋。
首先我們打開命令提示符,然后要將工作目錄定位到源代碼文件的存儲位置铸鹰,這一步非常重要癌别,沒有接觸過命令行工具的人,往往會在這里出錯(cuò)蹋笼。DOS 命令“cd”可以改變當(dāng)前的工作目錄展姐,具體做法是“cd”命令后面加上目標(biāo)工作目錄,如上圖第三行剖毯,就是重新定位到 E盤的 a 目錄下圾笨。使用完“cd”命令后,還要再鍵入一次定位到的目錄的地址逊谋,這樣才會轉(zhuǎn)移過去擂达,但只需要鍵入盤符即可,并不需要鍵入完整地址胶滋,如上圖第四行板鬓。工作目錄重新定位后,如上圖第五行所示究恤,工作目錄已經(jīng)從 C:\Users\lenovo 更改為 E:\a 俭令。
現(xiàn)在我們只需要執(zhí)行“gcc hello.c”這行命令,就可以將源代碼編譯為可執(zhí)行程序了部宿。
如上圖所示抄腔,a.exe 就是編譯后生成的可執(zhí)行程序。因?yàn)槲覀兙幾g時(shí)沒有指定生成的程序名理张,所以 MinGW-w64 默認(rèn)將程序命名為 a 赫蛇,加上后綴名就是 a.exe 了。如果我們想在編譯時(shí)就指定生成的程序名涯穷,就需要使用“gcc”命令的“-o”選項(xiàng)了棍掐。
格式:gcc 源代碼文件的名字 -o 編譯后程序的名字
示例:gcc hello.c -o hello.exe
說明:“gcc”這個(gè)命令擁有很多內(nèi)置選項(xiàng),其中“-o”表示將它后面的單詞設(shè)置編譯后文件的名字拷况。
注意:選項(xiàng)“o”是英文的小寫字母作煌,并不是數(shù)字零掘殴,并且它的后面只能是想設(shè)置的文件名。
這種在編譯時(shí)命名的方法好像很雞肋粟誓,初看好像只是幫我們省了一些時(shí)間奏寨,畢竟我們也可以在編譯后手動改名。這種想法是因?yàn)槲覀兊某绦蜻€很簡單鹰服,只有一個(gè)源代碼文件病瞳,也只會編譯出一個(gè)程序。當(dāng)以后我們的程序變復(fù)雜了悲酷,可能會在一個(gè)工作目錄下編譯出復(fù)數(shù)個(gè)程序套菜,這時(shí)就必須用 -o 選項(xiàng)了,否則編譯出的程序都叫 a.exe 设易,會在生成時(shí)互相覆蓋掉逗柴。
同樣要先定位到我們在用的工作目錄下,然后執(zhí)行“gcc hello.c -o hello.exe”這條命令顿肺,就會編譯生成一個(gè)名叫 hello.exe 的可執(zhí)行文件了戏溺。
執(zhí)行完“gcc hello.c -o hello.exe”編譯命令后,會在工作目錄中生成 hello.exe 可執(zhí)行程序屠尊,這就是我們得到的最終成果旷祸。
用鼠標(biāo)雙擊運(yùn)行編譯后的 hello.exe 程序,會啟動一個(gè)命令提示符窗口讼昆,并在里面顯示“hello, world”這幾個(gè)字符托享。這代表我們成功的完成了一次編譯,將那段C語言代碼編譯成了計(jì)算機(jī)可以執(zhí)行的程序控淡。
想要運(yùn)行編譯好的程序嫌吠,并不是非要用鼠標(biāo)雙擊程序啟動,也可在命令提示符中直接輸入編譯后的程序名稱掺炭,例如輸入“hello.exe”,也可以直接運(yùn)行程序凭戴。甚至可以省略程序的后綴名涧狮,只需輸入“hello”即可,程序同樣會正確的運(yùn)行么夫。
六者冤、一些額外的設(shè)置
這些額外的設(shè)置,可以使 MinGW-w64 使用起來更方便档痪。因?yàn)椤癵cc”命令有些麻煩涉枫,每次編譯都要輸入類似“gcc hello.c -o hello.exe”這樣的一串字符,所以我們?yōu)榱撕喕@一步驟腐螟,轉(zhuǎn)而使用“make”命令愿汰。只是“make”是 Linux 和 類Unix 下的工具困后,所以在 MinGW-w64 中需要一些額外的修改。
1).創(chuàng)建 gcc.exe 的副本 cc.exe
首先復(fù)制一個(gè)“gcc.exe”的副本衬廷,然后將其更名為“cc.exe”即可摇予。
2).創(chuàng)建 mingw32-make.exe 的副本 make.exe
與對“gcc.exe”的操作相同,復(fù)制一個(gè)“mingw32-make”的副本吗跋,然后更名為“make.exe”侧戴。
現(xiàn)在我們就可以使用“make”命令來編譯源代碼,只需要輸入“make hello”即可編譯生成“hello.exe”了跌宛。
七酗宋、進(jìn)階
上述只是簡單的編譯源代碼的方法,適用于單個(gè)或少量源代碼文件疆拘,如果是復(fù)雜的大型程序蜕猫,要用到 makefile 來組織源代碼時(shí),就需要 mingw32-make(修改后使用 make) 命令了入问。
如果程序編譯或運(yùn)行出錯(cuò)丹锹,需要調(diào)試源代碼,則可以使用 gdb 命令芬失,來幫助我們確定問題產(chǎn)生在哪里楣黍。
如果代碼沒有明顯的編譯錯(cuò)誤,運(yùn)行時(shí)也沒有邏輯錯(cuò)誤棱烂,則在最終編譯為可發(fā)布版的程序時(shí)租漂,我們還要考慮編譯優(yōu)化的問題,以便生成的程序文件擁有更小的體積颊糜,和更高的運(yùn)行效率哩治。gcc 命令有 -00 、 -01 衬鱼、 -02 业筏、 -03 這幾個(gè)優(yōu)化選項(xiàng),其中 -00 是默認(rèn)選項(xiàng)鸟赫,意思是無優(yōu)化蒜胖,剩下的幾個(gè)選項(xiàng)隨數(shù)字的增大,優(yōu)化程度也會逐漸增強(qiáng)抛蚤。
八台谢、問題列表
這里會列出一些可以預(yù)見的問題,并提供解決問題方法岁经。
說明:如果網(wǎng)絡(luò)環(huán)境不太好朋沮,或因?qū)拵峁┥痰南拗疲赡軙?dǎo)致程序下載組件非常的緩慢缀壤,甚至?xí)》亍_@種時(shí)候纠亚,我們可以不用安裝程序,而是嘗試直接手動下載 MinGW-w64 的壓縮包骑脱。這種方法的好處是可以使用第三方下載軟件菜枷,而這種下載軟件大多提供加速下載,以及斷點(diǎn)續(xù)傳功能叁丧∑√埽基本能解決無法下載的問題。
操作:如上圖所示拥娄。將第四章蚊锹、第3節(jié) SourceForge 中的 MinGW-w64 下載頁面往下拉,就能看到這部分的頁面稚瘾。其中牡昆,紅框內(nèi)的鏈接,就是 MinGW-w64 的壓縮包手動下載鏈接(6.3.0版)摊欠,只需根據(jù)需要選擇對應(yīng)的鏈接下載即可丢烘。例如:x86_64-win32-seh ,x86_64 指 64位些椒,win32 指可開發(fā) Windows 程序播瞳,seh 指 異常處理模型。
將 MinGW-w64 壓縮包下載到本地后免糕,解壓縮赢乓,然后就可以照常進(jìn)行配置了。