【cpp 開發工具】MingGW 各版本區別及安裝說明


MinGW、MinGW-w64 簡介

MinGW(全稱為 Minimalist GNU for Windows),它實際上是將經典的開源 C 語言編譯器 GCC 移植到了 Windows 平台下,並且包含了 Win32 API ,因此可以將源代碼編譯為可在 Windows 中運行的可執行程序。而且還可以使用一些 Windows 平台不具備的,但是 Linux 平台具備的開發工具和 API 函數。用一句話來概括就是:MinGW 就是 GCC 的 Windows 版本 ;

MinGW-w64 原本是 MinGW 項目的分支,后來成為獨立發展得項目,由於僅有 MinGW-w64 被 GCC 官方所支持, 而 MinGW 早已停止更新, 因此推薦使用 MinGW-w64;

MinGW-w64 與 MinGW 的區別在於 MinGW 只能編譯生成 32 位可執行程序,而 MinGW-w64 則可以編譯生成 64 位或 32 位可執行程序。

下載地址

官網:<https: sourceforge.net="" projects="" mingw-w64="" files="" toolchains%20targetting%20win64="" personal%20builds="" mingw-builds="">

image-20210804110316854

本人下載的是:image-20210804105950570

PS:不建議在線安裝,即使用 exe 文件安裝;建議下載離線的壓縮包,解壓安裝,添加環境變量即可。

MinGW 各版本參數說明

MinGW 可以適應不同系統開發環境,因此有幾大參數需要進行選擇: Version、Architecture、Threads、Exception

  • Version:指的是你選擇的 GCC 編譯器的版本,我選擇的是當前最新版本 8.1.0,一般建議選擇最新的版本;

  • Architecture:指的是你的電腦的系統類型,i686 表示的是 32 位的系統類型,x86_64 表示的是 64 位的系統類型;

  • Threads:指的是線程模型,posix 或 win32

    • POSIX(Portable Operating System Interface,可移植操作系統接口),是 UNIX 系統的一個 API 設計標准,很多類 UNIX 系統也在支持兼容這個標准,如 Linux 操作系統。如果在 Windows 下開發 Linux 應用程序,則選擇 posix;
    • Win32,是 Windows 系統下一個 API 設計標准,如果開發 Windows 平台下的應用程序,就需要選擇 Win32;
  • Exception:指的是異常處理模型。i686 系統架構有兩種選擇:dwarf 和 sjlj;x86_64 系統架構也有兩種選擇:seh 和 sjlj。

    這里說一下 sjlj,seh,dwarf 三者的區別:

    在C++中有 try..throw..catch,當它執行這種結構時,它需要保存現場還原現場,而 sjlj,seh,dwarf 正是實現這類過程的三種方式。

    • sjlj 全稱是 SetJump / LongJump,前者設還原點,后者跳到還原點。可用於 32 位或者 64 位系統。

    • seh(Structured Exception Handling,結構化異常處理)是 Borland 公司的,微軟買了其專利使用權,它利用了 FS 段寄存器,將還原點壓入棧,收到異常時再彈出。相較而言,sjlj 是 C 標准庫就有的東西,seh 在 2014 年前是有專利的,從性能上說 seh 比 sjlj 快。只用於64位系統。

    • dwarf 只支持32位系統 – 沒有永久的運行時間開銷 – 需要整個調用堆棧被啟用,這意味着exception不能被拋出,例如Windows系統DLL。

    綜上所述:

    【x86_64 64位】

    1、seh 是新發明的,而 sjlj 則是古老的。只用於64位系統。

    2、seh 性能比較好,但不支持 32位。 sjlj 穩定性好,支持 32位和64位。

    因此,x86_64 系統架構的推薦使用 seh 的異常處理模型。

    【i686 32位】

    1、dwarf 只支持 32 位,而 sjlj 支持 32 位或64 位,但是 dwarf 的性能要優於 sjlj。

    因此,i686 系統架構的推薦使用 dwarf 的異常處理模型。

    【參考】<https: wiki.qt.io="" mingw-64-bit="">

解壓安裝

1、下載:x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z

2、解壓到 D 盤的程序文件目錄:

image-20210804112031816

3、添加環境變量

image-20210804112346518

測試

在 cmd 中進行命令測試:gcc -vg++ -v

出現如下效果圖說明安裝成功:

image-20210804112751790

image-20210804112849565
</https:></https:>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM