MarketMingw-w64
Company Profile

Mingw-w64

Mingw-w64 is a free and open-source suite of development tools that generate Portable Executable (PE) binaries for Microsoft Windows. It was forked in 2005–2010 from MinGW.

History
In 2005, after the original MinGW project was not prompt on updating its code base to include key new APIs and 64-bit support, OneVision Software began reverse-engineering the 64-bit Windows API by clean-room design. In 2008, OneVision donated the code to Kai Tietz, one of its lead developers, under the condition that it remain open source. It was first submitted to the original MinGW project, but refused under suspicion of using non-public or proprietary information. For many reasons, the lead developer and co-founder of the MinGW-w64 project, Kai Tietz, decided not to attempt further cooperation with MinGW. MinGW-w64 provides a more complete Win32 API implementation, including: • Better C99 support • POSIX Threads (pthreads) support (including the possibility to enable C++11 thread-related functionality in GCC's libstdc++) • GCC multilib, which allows users to install 32-bit and 64-bit libraries in parallel • Unicode entry point (wmain/wWinMain) • DDK (from ReactOS) • DirectX (from Wine) • Large file supportWin64 support • Structured Exception Handling (SEH) instead of DWARF or sjlj on x86-64 (from gcc 4.8+) • Some useful tools such as gendef (an improved version of MinGW's pexports utility), and widl (an MIDL compiler from Wine). Additionally, the Mingw-w64 project maintains winpthreads, a wrapper library similar to pthreads-win32, with the main difference that it allows GCC to use it as a threads library resulting in functional C++11 thread libraries , , and . == MSYS2 ==
MSYS2
MSYS2 ("minimal system 2") is a software distribution and a development platform for Microsoft Windows, based on Mingw-w64 and Cygwin, that helps to deploy code from the Unix world on Windows. It plays the same role the old MSYS did in MinGW. MSYS2 shares this goal of bringing Unix code to Windows machines with several other projects, most notably Cygwin and Windows Subsystem for Linux (WSL). WSL lets Linux ELF binaries run on Windows through a managed virtual machine. Cygwin provides a full POSIX environment (as a windows DLL) in which applications, compiled as Windows EXEs, run as they would under Unix. Instead of providing a full environment like Cygwin does, MSYS2 tasks itself with being a development and deployment platform. As with Cygwin, MSYS2 supports path translation for non-MSYS2 software launched from it. For example one can use the command to launch an editor that will open the file with the Windows path . MSYS2 and its bash environment is used by Git and GNU Octave for their official Windows distribution. ==Compiler==
Compiler
Most languages supported by GCC are supported on the Mingw-w64 port as well. These include C, C++, Objective-C, Objective-C++, Fortran, and Ada. The GCC runtime libraries are used (libstdc++ for C++, libgfortran for Fortran, etc.). A packaging of LLVM's clang to mingw-w64 is also provided by MSYS2. It supports ARM for Windows ( and ). Binaries (executables or DLLs) generated with different C++ compilers (like Mingw-w64 GCC and Visual Studio) are in general not link compatible due to the use of different ABIs and name mangling schemes caused by the differences in C++ runtimes. However, compiled C code is link compatible. Clang is an exception, as it mostly supports MSVC's C++ ABI on Windows. The binutils documentation has up-to-date information about its handling of various windows-specific formats and special tools for doing so. ==References==
tickerdossier.comtickerdossier.substack.com