* 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 환경이 권장됩니다
//
'Code' 카테고리의 다른 글
Linux, Wine(Wine Is Not an Emulator) 사용법 (0) | 2024.11.22 |
---|---|
Ubuntu, X Window(X11)을 원격 터미널에서 사용하는 방법 (0) | 2024.11.21 |
JAVA 프로젝트 시작 방법, VS Code 이용 빌드 디버깅 (0) | 2024.11.11 |
Pandoc (문서변환 유틸리티) 사용법 (0) | 2024.11.10 |
LaTeX 사용법 (0) | 2024.11.09 |