W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
MinGW,是Minimalist GNU for Windows的縮寫。它是一個(gè)可自由使用和自由發(fā)布的Windows特定頭文件和使用GNU工具集導(dǎo)入庫(kù)的集合,允許你在GNU/Linux和Windows平臺(tái)生成本地的Windows程序而不需要第三方C運(yùn)行時(shí)(C Runtime)庫(kù)。MinGW 是一組包含文件和端口庫(kù),其功能是允許控制臺(tái)模式的程序使用微軟的標(biāo)準(zhǔn)C運(yùn)行時(shí)(C Runtime)庫(kù)(MSVCRT.DLL),該庫(kù)在所有的 NT OS 上有效,在所有的 Windows 95發(fā)行版以上的 Windows OS 有效,使用基本運(yùn)行時(shí),你可以使用 GCC 寫控制臺(tái)模式的符合美國(guó)標(biāo)準(zhǔn)化組織(ANSI)程序,可以使用微軟提供的 C 運(yùn)行時(shí)(C Runtime)擴(kuò)展,與基本運(yùn)行時(shí)相結(jié)合,就可以有充分的權(quán)利既使用 CRT(C Runtime)又使用 WindowsAPI功能(該段內(nèi)容來自百度百科)。
MinGW-w64是MinGW的64位版本,MinGW在多年前就已經(jīng)將開發(fā)精力轉(zhuǎn)移到64位系統(tǒng)上了,32位MinGW多年未曾更新了。以下的安裝過程都建立在64位系統(tǒng)的基礎(chǔ)上進(jìn)行。
可以前往MinGW的官網(wǎng)進(jìn)行下載:https://www.mingw-w64.org/downloads/
MinGW將其托管到sourceforge上了,也可以前往sourceforge下載:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/?tdsourcetag=s_pctim_aiomsg
在sourceforge上下載的話選擇install.exe文件下載即可,小編接下來采用的就是這種方式。使用可執(zhí)行安裝文件進(jìn)行安裝對(duì)新手來說比較友好。也可以采用免安裝的形式來下載安裝MinGW。最后,如果使用帶MinGW的codeblock,可以直接跳到環(huán)境變量配置過程。
下載完install.exe文件后運(yùn)行該軟件,進(jìn)入如下頁(yè)面:
點(diǎn)擊next進(jìn)入安裝配置;
選擇安裝的MinGW版本號(hào),沒有特殊要求的話(如果只是為了學(xué)習(xí))直接安裝最新版本即可:
選擇系統(tǒng)架構(gòu),X86_64是64位系統(tǒng),i686是32位系統(tǒng)。
選擇操作系統(tǒng)接口協(xié)議:開發(fā)類Unix(linux,macOS,Unix等)系統(tǒng)的程序選擇posix,開發(fā)Windows程序的選擇win32即可。
選擇異常處理類型:異常處理在開發(fā)中非常重要,在開發(fā)的過程中,大部分的時(shí)間會(huì)耗在處理各種異常情況上。seh 是新發(fā)明的,而 sjlj 則是古老的。seh 性能比較好,但不支持 32位。 sjlj 穩(wěn)定性好,支持 32位。建議64位操作系統(tǒng)選擇seh。
選擇安裝路徑,點(diǎn)擊next即可進(jìn)入安裝過程(需要聯(lián)網(wǎng)下載MinGW的相應(yīng)數(shù)據(jù))。
安裝完成后可以到相應(yīng)的安裝路徑下看到這樣的文件夾:
我們可以直接下載相應(yīng)的MinGW的壓縮包,解壓也可得到上面安裝后的文件夾。以上述的安裝版本為例,我們要選擇的安裝版本如下圖所示:
安裝完MinGW后需要進(jìn)行環(huán)境變量的配置,在環(huán)境變量中的path變量中添加上面文件夾內(nèi)的bin文件夾即可:
在命令提示符中輸入?gcc-v?或者?g++ -v?,如果有輸出內(nèi)容,則證明配置成功。
使用記事本或者代碼編輯器寫一段程序(這里不推薦使用記事本,小編使用vscode)。
首先通過命令行進(jìn)入你準(zhǔn)備要?jiǎng)?chuàng)建文件的目錄下進(jìn)行后續(xù)操作。
編譯過程分為四個(gè)步驟:預(yù)處理、編譯、匯編、鏈接。
1.預(yù)處理
預(yù)處理主要處理源文件中的“#include”、“#define”等預(yù)處理命令。
預(yù)處理主要完成的工作有:
(1)刪除#define,展開宏;
(2)處理?xiàng)l件編譯指令,預(yù)處理程序先判斷條件,在根據(jù)條件修改源代碼;
(3)刪除注釋;
(4)添加行號(hào),以及文件名標(biāo)識(shí),便于調(diào)試
(5)刪除“#include”,插入相應(yīng)的頭文件;
使用?g++ -E test.cpp -o test.i??命令,預(yù)處理后得到?test.i?文件
2.編譯
生成匯編代碼的過程,使用命令?g++ -S test.i -o test.s.?生成匯編文件?test.s?文件,當(dāng)然直接從?test.cpp?文件得到匯編文件也可以。
3.匯編
將匯編代碼轉(zhuǎn)化成機(jī)器指令,生成目標(biāo)二進(jìn)制代碼。
使用命令?g++ -c test.s -o test.o?生成?test.o?文件
4.鏈接
通過鏈接庫(kù)文件,將目標(biāo)文件轉(zhuǎn)化成可執(zhí)行文件
使用命令?g++ test.o -o test.exe?
當(dāng)然,一般情況下,可以直接使用?g++ test.cpp -o test? 就可以生成可執(zhí)行程序了。
最后使用命令test.exe,即可運(yùn)行程序。
也可以直接點(diǎn)擊exe文件進(jìn)行運(yùn)行。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: