在C語(yǔ)言的編譯器有哪些?MinGW介紹!一文中小編介紹了三種主流的C語(yǔ)言編譯器,分別是來(lái)自微軟的MSVC,來(lái)自GNU的GCC(對(duì)應(yīng)Windows的mingw)和來(lái)自Borland公司開發(fā)的Turbo C。有些小伙伴可能了解到Turbo C比較老舊,而又不愿意使用MSVC(因?yàn)镸SVC下有些“方言”并不符合最新的c標(biāo)準(zhǔn)),這時(shí)候MinGW就是一個(gè)不錯(cuò)的選擇。今天小編就帶大家來(lái)了解如何安裝一個(gè)MinGW的編譯器吧。
什么是MinGW?
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)容來(lái)自百度百科)。
MinGW-w64是MinGW的64位版本,MinGW在多年前就已經(jīng)將開發(fā)精力轉(zhuǎn)移到64位系統(tǒng)上了,32位MinGW多年未曾更新了。以下的安裝過(guò)程都建立在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文件下載即可,小編接下來(lái)采用的就是這種方式。使用可執(zhí)行安裝文件進(jìn)行安裝對(duì)新手來(lái)說(shuō)比較友好。也可以采用免安裝的形式來(lái)下載安裝MinGW。最后,如果使用帶MinGW的codeblock,可以直接跳到環(huán)境變量配置過(guò)程。
如何安裝
安裝器安裝
下載完install.exe文件后運(yùn)行該軟件,進(jìn)入如下頁(yè)面:
點(diǎn)擊next進(jìn)入安裝配置;
選擇安裝的MinGW版本號(hào),沒(méi)有特殊要求的話(如果只是為了學(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ā)的過(guò)程中,大部分的時(shí)間會(huì)耗在處理各種異常情況上。seh 是新發(fā)明的,而 sjlj 則是古老的。seh 性能比較好,但不支持 32位。 sjlj 穩(wěn)定性好,支持 32位。建議64位操作系統(tǒng)選擇seh。
選擇安裝路徑,點(diǎn)擊next即可進(jìn)入安裝過(guò)程(需要聯(lián)網(wǎng)下載MinGW的相應(yīng)數(shù)據(jù))。
安裝完成后可以到相應(yīng)的安裝路徑下看到這樣的文件夾:
免安裝版本
我們可以直接下載相應(yīng)的MinGW的壓縮包,解壓也可得到上面安裝后的文件夾。以上述的安裝版本為例,我們要選擇的安裝版本如下圖所示:
環(huán)境變量配置
安裝完MinGW后需要進(jìn)行環(huán)境變量的配置,在環(huán)境變量中的path變量中添加上面文件夾內(nèi)的bin文件夾即可:
校驗(yàn)
在命令提示符中輸入?gcc-v
?或者?g++ -v
?,如果有輸出內(nèi)容,則證明配置成功。
簡(jiǎn)易使用
編輯代碼
使用記事本或者代碼編輯器寫一段程序(這里不推薦使用記事本,小編使用vscode)。
首先通過(guò)命令行進(jìn)入你準(zhǔn)備要?jiǎng)?chuàng)建文件的目錄下進(jìn)行后續(xù)操作。
編譯過(guò)程
編譯過(guò)程分為四個(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.編譯
生成匯編代碼的過(guò)程,使用命令?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.鏈接
通過(guò)鏈接庫(kù)文件,將目標(biāo)文件轉(zhuǎn)化成可執(zhí)行文件
使用命令?g++ test.o -o test.exe?
當(dāng)然,一般情況下,可以直接使用?g++ test.cpp -o test? 就可以生成可執(zhí)行程序了。
運(yùn)行程序
最后使用命令test.exe,即可運(yùn)行程序。
也可以直接點(diǎn)擊exe文件進(jìn)行運(yùn)行。
小結(jié)
以上就是該篇文章的全部?jī)?nèi)容了,更多c語(yǔ)言的學(xué)習(xí)可以持續(xù)關(guān)注猿筆記的后續(xù)文章。