MSYS2 MSYS, MINGW64, UCRT64 차이점 비교
* MinGW 
https://en.wikipedia.org/wiki/MinGW
1998  
MinGW (Minimalist GNU for Windows). 
유닉스용 프로그램 코드를, 윈도우에서 빌드하는 도구 
윈도우에서 GCC(GNU Compiler Collection) 사용 가능 
- Mingw-w64 
https://en.wikipedia.org/wiki/Mingw-w64
2005 
MinGW의 64bit 버전 
* MSYS2 
https://en.wikipedia.org/wiki/Mingw-w64#MSYS2
"minimal system 2" 
MSYS - 32bit 
MSYS2 - 64bit 
유닉스 명령을 사용할 수 있는 셸 환경을 제공 
가상머신 방식 아님, POSIX 네이티브 API사용시 빌드 불가 
MinGW 패키지 포함 
* Cygwin 
https://en.wikipedia.org/wiki/Cygwin
유닉스 명령을 사용할 수 있는 셸 환경을 제공 
가상머신 방식 
WSL로 대체
* UCRT (Universal C Runtime)
Windows 10부터 도입된 새로운 C 런타임 라이브러리, 이전의 MSVCRT를 대체
C표준 준수, Windows의 모든 버전에서 동일한 런타임(ucrtbase.dll )을 사용
- UCRT64 - 64bit
//-----------------------------------------------------------------------------
< MSYS2 의 실행환경 비교 >
MINGW64 환경
• 오래된 MSVCRT(Microsoft Visual C++ Runtime)를 사용합니다
• 모든 Windows 버전과의 하위 호환성이 좋습니다
• C99 완벽 호환은 아니지만, mingw-w64가 대체 함수를 제공합니다
• 패키지 접두사: mingw-w64-x86_64-를 사용합니다
MSYS 환경 
• Cygwin 기반의 POSIX 호환 레이어를 제공합니다 
• 주로 크로스 플랫폼으로 작성되지 않은 Linux 애플리케이션을 컴파일하는데 사용됩니다 
• bash, grep, sed, awk 등 Linux 스타일의 명령줄 유틸리티를 제공합니다 
• 성능 오버헤드가 있으며, 다른 환경에 비해 라이브러리가 제한적입니다 
UCRT64 환경(MinGW-w64 UCRT)
• Windows 10 이상에서 사용되는 최신 Universal C Runtime(UCRT)을 사용합니다
• 현대적인 Visual Studio와 호환성이 좋으며, 기본 환경으로 권장됩니다
• UTF-8 경로명을 지원하고 C99 호환성이 있습니다
• 패키지 접두사: mingw-w64-ucrt-x86_64-를 사용합니다
//
주요 차이점 비교
| 환경 | C 라이브러리 | 주 용도 | 설치 위치 | 
| UCRT64 | UCRT | 현대적 Windows 개발 | /ucrt64 | 
| MSYS | Cygwin | Linux 도구/컴파일 | /usr | 
| MINGW64 | MSVCRT | 레거시 호환성 | /mingw64 | 
일반적으로 새로운 프로젝트를 시작한다면 UCRT64 환경이 권장됩니다
//