MinGW

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
MinGW
개발자 MinGW 프로젝트
안정화 버전 0.6.0 - 베타[1] / 2013년 9월 5일, 415일 경과
미리보기 버전 없음
운영 체제 마이크로소프트 윈도
종류 소프트웨어 개발
라이선스 GNU GPL
웹사이트 mingw.org

MinGW마이크로소프트 윈도로 포팅한 GNU 소프트웨어 도구 모음이다. mingw32로도 알려져 있다.

MinGW는 윈도 API를 구현할 수 있는 헤더 파일들을 가지고 있으며 이로써 개발자들이 "자유롭게 쓸 수 있는" 컴파일러인 GCC를 사용할 수 있다. 시그윈 포팅을 사용할 경우 컴파일한 프로그램 결과물이 유닉스 계통의 기능을 가상으로 구현하는 런타임에 의존하는 반면, MinGW의 경우 이러한 기능에 의존하지 않고 마이크로소프트 윈도 기반 프로그램들을 만들 수 있다.

이 MinGW 프로젝트는 두 개의 기본 꾸러미를 관리하고 배포한다. 첫째로는 포팅된 GCC 컴파일러들은 윈도 명령 줄에서, 아니면 IDE에 통합된 채로 쓸 수 있다. 아니면 둘째로는 MSYS(minimal system의 약자)를 쓸 수도 있는데, 이것은 가벼운 유닉스 계통의 환경을 제공한다. 이러한 환경은 rxvtautoconf 스크립트들을 실행하는 데에 충분한 POSIX 도구들이 집약되어 있다.

두 개의 꾸러미들은 원래 시그윈 일부의 forks였으며 forks는 네이티브 윈도 기능 덕에 더 포괄적인 유닉스 계통의 지원을 제공한다. 두 개의 꾸러미들은 자유 소프트웨어이다. Win32 헤더 파일들은 공용 도메인에 공개된다. 반면 GNU에서 포팅되는 프로그램들은 GNU 일반 공중 사용 허가서 하에서 사용할 수 있다. 완전한 MSYS 꾸러미와 개별 MinGW GNU 유틸리티들의 바이너리 파일들은 MinGW 사이트에서 내려 받을 수 있다.

이름 붙이기[편집]

MinGW라는 이름은 Minimalist GNU for Windows의 줄임말이다. MinGW는 Mingw32라고 말할 수도 있는데 Win32 API용 헤더를 제공하기 때문이다.

MinGW를 발음하는 데에 정해진 기준은 없다. 흔히 "밍 위", "민기 더블유", "밍 더블유", 아니면 "민 그누"라고 발음한다. 간혹 발음 상의 편의성을 위해 "민지"로 발음하는 부류도 있다.

기능[편집]

MinGW와 MSYS의 결합은 작고 알찬 환경을 제공한다. 이로써 컴퓨터의 레지스트리나 파일의 항목을 남겨두지 않은 채 이동식 미디어로 불러들일 수 있다. 시그윈은 설치와 관리 면에서 더욱 복잡하다.

MinGW에서 응용 프로그램들을 크로스 컴파일할 수 있다. 시그윈 없이 윈도에서 돌아갈 소프트웨어를 컴파일하기 위해 개발자들이 MSYS의 윈도 설치판을 필요로 하지 않는다는 것을 말해 준다. 현재는 한때 지원하지 못하였던 윈도 비스타윈도 7과 완전히 호환된다.

시그윈과의 비교[편집]

MinGW는 1.3.3의 시그윈에서 분리된 버전이다. 시그윈과 MinGW 둘 다 유닉스 소프트웨어에서 마이크로소프트 윈도로 포팅되긴 했으나 그 둘의 목표는 다르다.

시그윈은 완전한 POSIX 레이어를 윈도 상에서 제공하는 데 촛점을 두고 호환성이 필요한 곳에는 성능을 포기한다. 반면 MinGW는 자유 컴파일러와 도구 모음을 제공하는 데 힘을 쏟지만 성능을 우선한다.

시그윈과 달리, MinGW는 호환성 레이어 DLL을 요구하지 않으며, 그에 따른 런타임은 허가 라이선스 하에서 주어진다. MinGW가 POSIX API를 제공하지 않기 때문에, 시그윈으로 컴파일할 수 있는 유닉스 응용 프로그램들을 컴파일할 수 없다. 구체적으로 말해, 특정한 POSIX 기능을 요구하는 응용 프로그램들과 POSIX 환경에서 실행될 것으로 예정된 프로그램들을 말한다. SDL, wxWidgets, Qt, 또는 GTK+와 같은, 여러 플랫폼을 지원하는 라이브러리들을 사용하여 짜여진 응용 프로그램들은 보통 시그윈에서 하던 것처럼 MinGW 안에서 쉽게 컴파일할 수 있다.

같이 보기[편집]

참조[편집]

  1. http://www.mingw.org/aggregator/sources/1

바깥 고리[편집]