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:

Menu