在C語言的編譯器有哪些?MinGW介紹!一文中小編介紹了三種主流的C語言編譯器,分別是來自微軟的MSVC,來自GNU的GCC(對應Windows的mingw)和來自Borland公司開發(fā)的Turbo C。有些小伙伴可能了解到Turbo C比較老舊,而又不愿意使用MSVC(因為MSVC下有些“方言”并不符合最新的c標準),這時候MinGW就是一個不錯的選擇。今天小編就帶大家來了解如何安裝一個MinGW的編譯器吧。
什么是MinGW?
MinGW,是Minimalist GNU for Windows的縮寫。它是一個可自由使用和自由發(fā)布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你在GNU/Linux和Windows平臺生成本地的Windows程序而不需要第三方C運行時(C Runtime)庫。MinGW 是一組包含文件和端口庫,其功能是允許控制臺模式的程序使用微軟的標準C運行時(C Runtime)庫(MSVCRT.DLL),該庫在所有的 NT OS 上有效,在所有的 Windows 95發(fā)行版以上的 Windows OS 有效,使用基本運行時,你可以使用 GCC 寫控制臺模式的符合美國標準化組織(ANSI)程序,可以使用微軟提供的 C 運行時(C Runtime)擴展,與基本運行時相結合,就可以有充分的權利既使用 CRT(C Runtime)又使用 WindowsAPI功能(該段內容來自百度百科)。
MinGW-w64是MinGW的64位版本,MinGW在多年前就已經將開發(fā)精力轉移到64位系統(tǒng)上了,32位MinGW多年未曾更新了。以下的安裝過程都建立在64位系統(tǒng)的基礎上進行。
如何下載
可以前往MinGW的官網進行下載: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í)行安裝文件進行安裝對新手來說比較友好。也可以采用免安裝的形式來下載安裝MinGW。最后,如果使用帶MinGW的codeblock,可以直接跳到環(huán)境變量配置過程。
如何安裝
安裝器安裝
下載完install.exe文件后運行該軟件,進入如下頁面:
點擊next進入安裝配置;
選擇安裝的MinGW版本號,沒有特殊要求的話(如果只是為了學習)直接安裝最新版本即可:
選擇系統(tǒng)架構,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ā)的過程中,大部分的時間會耗在處理各種異常情況上。seh 是新發(fā)明的,而 sjlj 則是古老的。seh 性能比較好,但不支持 32位。 sjlj 穩(wěn)定性好,支持 32位。建議64位操作系統(tǒng)選擇seh。
選擇安裝路徑,點擊next即可進入安裝過程(需要聯網下載MinGW的相應數據)。
安裝完成后可以到相應的安裝路徑下看到這樣的文件夾:
免安裝版本
我們可以直接下載相應的MinGW的壓縮包,解壓也可得到上面安裝后的文件夾。以上述的安裝版本為例,我們要選擇的安裝版本如下圖所示:
環(huán)境變量配置
安裝完MinGW后需要進行環(huán)境變量的配置,在環(huán)境變量中的path變量中添加上面文件夾內的bin文件夾即可:
校驗
在命令提示符中輸入?gcc-v
?或者?g++ -v
?,如果有輸出內容,則證明配置成功。
簡易使用
編輯代碼
使用記事本或者代碼編輯器寫一段程序(這里不推薦使用記事本,小編使用vscode)。
首先通過命令行進入你準備要創(chuàng)建文件的目錄下進行后續(xù)操作。
編譯過程
編譯過程分為四個步驟:預處理、編譯、匯編、鏈接。
1.預處理
預處理主要處理源文件中的“#include”、“#define”等預處理命令。
預處理主要完成的工作有:
(1)刪除#define,展開宏;
(2)處理條件編譯指令,預處理程序先判斷條件,在根據條件修改源代碼;
(3)刪除注釋;
(4)添加行號,以及文件名標識,便于調試
(5)刪除“#include”,插入相應的頭文件;
使用?g++ -E test.cpp -o test.i??命令,預處理后得到?test.i?文件
2.編譯
生成匯編代碼的過程,使用命令?g++ -S test.i -o test.s.?生成匯編文件?test.s?文件,當然直接從?test.cpp?文件得到匯編文件也可以。
3.匯編
將匯編代碼轉化成機器指令,生成目標二進制代碼。
使用命令?g++ -c test.s -o test.o?生成?test.o?文件
4.鏈接
通過鏈接庫文件,將目標文件轉化成可執(zhí)行文件
使用命令?g++ test.o -o test.exe?
當然,一般情況下,可以直接使用?g++ test.cpp -o test? 就可以生成可執(zhí)行程序了。
運行程序
最后使用命令test.exe,即可運行程序。
也可以直接點擊exe文件進行運行。
小結
以上就是該篇文章的全部內容了,更多c語言的學習可以持續(xù)關注猿筆記的后續(xù)文章。