MinGW-w64

出自Local Chinese Wikipedia
跳至導覽 跳至搜尋

頁面Module:Infobox/styles.css沒有內容。

MinGW-w64
原作者OneVision Software
開發者Kai Tietz, Jonathan Yong, 多位GNU貢獻者
首次發布2005年,​21年前​(2005
當前版本8.0.0[1](2020年9月18日,​5年前​(2020-09-18
編程語言C, C++
操作系統Microsoft Windows
類型編譯器
許可協議公有領域 (頭文件), GNU通用公共許可證 (編譯器與工具鏈), Zope公共許可證
網站mingw-w64.org
頁面Module:Infobox/styles.css沒有內容。

MinGW-w64自由及開放源代碼軟件開發環境,用於創建Microsoft Windows應用程序。從2005–2008從MinGW(Minimalist GNU for Windows)分支出來。

MinGW-w64包括對GCCGNU Binutils的Windows版本的移植匯編器鏈接器庫文件管理器),一套自由可分發的Windows特定的頭文件靜態導入庫以使用Windows API,一個 Windows本地版本的GNU調試器,以及其它多種工具。

MinGW-w64可運行於本地Microsoft Windows平台,"cross-native"在MSYS2Cygwin。MinGW-w64能生成32-或64-位可執行程序,運行於i686-w64-mingw32x86_64-w64-mingw32目標平台。

歷史[編輯]

2005年, OneVision Software遵照淨室設計原則,開始開發MinGW-w64,因為最初的MinGW項目更新太慢,遲遲不支持64位環境開發。2008年,OneVision捐獻這個項目給開源社區。[2][3][4]

MinGW-w64提供了更全面的Win32 API支持,[5]包括:

  • 更好的C99支持
  • POSIX線程 (pthreads)支持
  • GCC multilib, 允許同時安裝32位與64位庫
  • Unicode入口點 (wmain/wWinMain)
  • DDK (來自ReactOS)
  • DirectX (來自Wine)
  • package.lua第80行Lua錯誤:module 'Module:Ilh/data' not found
  • Win64支持
  • 在x86-64(從gcc 4.8+)上,結構化異常處理(SEH)代替package.lua第80行Lua錯誤:module 'Module:Ilh/data' not foundsjlj
  • 一些有用工具如 gendefwidl (一個MIDL編譯器來自Wine)

MinGW-w64還維護winpthreads,一個包裝庫類似於pthreads-win32, 實現了C++11線程庫<thread>, <future>, <mutex>

MSYS2[編輯]

MSYS2 ("minimal system 2")是用於Microsoft Windows的軟件發布與開發平台,基於MinGW-w64與Cygwin,把Unix環境中的代碼移植到Windows。[6]

編譯器[編輯]

GCC支持的大多數編程語言也被MinGW-w64移植支持。包括C、C++Objective-C、Objective-C++、FortranAda。使用了GCC運行時刻庫(libstdc++用於C++,libgfortran用於Fortran,等等)。MSYS2提供了LLVMclang的包裝。 支持Windows版ARM(aarch64-w64-mingw32armv7-w64-mingw32)。[7][8]

不同C++編譯器(如Mindw-w64 GCC與Visual Studio)產生的二進制可執行程序一般互不兼容,因為使用了不同的ABI名字修飾導致了C++運行時的差異。但被編譯的C代碼是鏈接時兼容的。[9] Clang是個例外,它廣泛支持了MSVC的C++ ABI。[10]

參考文獻[編輯]

  1. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  2. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  3. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  4. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  5. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  6. MSYS2: official homepage頁面存檔備份,存於網際網路檔案館), code repository頁面存檔備份,存於網際網路檔案館
  7. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  8. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  9. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found
  10. package.lua第80行Lua錯誤:module 'Module:Citation/CS1/People' not found

外部鏈接[編輯]

package.lua第80行Lua錯誤:module 'Module:Navbar/configuration' not found