What's the difference between MinGW and Cygwin.

RT, what are the main differences between the two.

Apr.26,2022

my understanding:

  1. cygwin is a large and comprehensive simulation layer, which can simulate many functions of the linux (strictly speaking, posix) system under windows, so that a lot of software originally written for linux can run under windows without modification, as long as it is compiled under cygwin, but requires a cygwin runtime library.
  2. Mingw is strictly a gcc compiler transplanted to windows, compiling code compatible with gcc specification directly into windows executable program, the compiled program does not need a third-party runtime library, and can be run directly under windows, but because there is no simulation layer, a lot of code using advanced features of Linux cannot be compiled directly under Mingw, and the code needs to be modified to be transplanted to windows.

I studied it later. In order to express it more clearly, I drew two pictures to show them respectively. Please take a look at the following picture:

Cygwin schematic:

MinGW:

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b329e7-2b5a6.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b329e7-2b5a6.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?