ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Cygwin(시그윈)이란? Cygwin의 장단점
    Programming/Utility Program 2008. 9. 11. 15:31

    Cygwin(시그윈)이란?



    리눅스 프로그램/유틸리티를, MS윈도에서 사용할 수 있도록 하는 프로그램이 Cygwin(시그윈)입니다. 그러나 리눅스/유닉스용 바이너리 파일을 직접 실행시킬 수는 없고, 소스를 Cygwin용으로 포팅해야 합니다.

    무료이고 오픈소스입니다. 지금은 레드햇(Red Hat)에 인수되었나 보더군요.

    시그윈을 윈도에 설치하면 grep 이나 diff 등, 리눅스/유닉스의 유명한 명령어들을 거의 모두 사용할 수 있습니다. 리눅스를 설치하지 않고도 윈도우에서 리눅스를 쓸 수 있는 것입니다. 물론 진짜 리눅스와 완전히 같지는 않고 한계가 있습니다.



    Cygwin의 한계


    1.
    Cygwin 은 리눅스처럼 보일 뿐이지, 어디까지나 윈도용 프로그램입니다. 따라서 리눅스용 프로그램을 시그윈에서 돌리기 위해서는, 소스를 시그윈에 맞게 수정한 후 컴파일해서, Win32 실행파일로, 즉 exe 파일로 만들어야 합니다.

    좋은 소식: 그러나 시그윈은 리눅스 환경에 최대한 닮아 있기 때문에, 리눅스용 소스를 그리 많이 수정하지 않아도 윈도우에서 비교적 잘 실행이 됩니다. 만약 시그윈 없이, 리눅스용 C소스로 윈도우용 실행파일을 만들려면 상당히 어렵습니다. 리눅스와 윈도라는 OS에는 서로 이질적인 부분이 많기 때문입니다.

    더 좋은 소식: 대부분의 리눅스용 프로그램들을 이미 시그윈용으로 컴파일해 두었기 때문에, 사용자가 직접 소스를 수정할 필요는 없을 것입니다.



    2.
    Cygwin용으로 컴파일된 exe파일은, 그 자체만으로는 실행이 되지 않고 반드시 cygwin1.dll 이라는 파일이 필요하다는 불편함이 있습니다. 그러나 요즘에 파일 하나로 실행되는 프로그램은 거의 없기 때문에 이것이 큰 단점은 되지 않는다고 봅니다.

    또한 프로그램의 종류에 따라 다른 DLL 들을 요구할 수도 있습니다. 가령 less 명령을 구현하는 less.exe 파일은, pcre.dll 이라는 라이브러리 파일이 있어야 실행됩니다.

    * Pcre: Perl-compatible regular-expression library

    이것을 종속성(Dependency)이라고 하는데, 이것은 Cygwin뿐 아니라 리눅스나 윈도우의 대부분의 프로그램에 이런 종속성이 있습니다.



    관련 게시물:

    Cygwin (시그윈) 다운로드/설치법 [윈도우에 리눅스/유닉스 환경 만들기]

    Cygwin (시그윈)에서, 사용 가능한 기본 명령어 목록

    댓글 0

Designed by Tistory.