Movable Code

Trade, Robot, Policy

가장 편안한 C++ 개발환경

leave a comment »

image

윈도우 개발환경을 가장 선호하지만 누가 가장 편안하고 좋은 C/C++ 개발환경이 뭐냐고 묻는다면 전 GCC 라고 말할렵니다.

오픈 소스계열의 라이브러리들은 이제 윈도우건 리눅스건 너무 밀접하게 연관되어 있고, 거의 태생이 GNU 세트들 기반입니다. GCC 는 C++ 표준안도 비교적 잘 지켜지고 있으며, 알고 보면 컴파일환경도 매우 단순하고 성능도 좋은 편이죠. 제 생각에 대부분의 알려진 컴파일러들의 성능차이란 과거엔 "최대최적화가 얼마나 잘되느냐" 였다면 지금은 "표준 C++ 을 얼마나 잘 지원하는가" 에 달려있다고 생각합니다. 그런면에서 GCC 는 매우 훌륭한 도구입니다.

윈도우에서 Visual Studio 를 사용하는 주된 이유는 컴파일러나 GUI 개발때문이 아니라 순전히 IDE 때문인데, GCC 쪽에는 적당한 IDE 가 없어서 늘 윈도우는 VS, xUnix 계열은 GCC 를 사용하느라고 고생해왔었습니다. (으… 그 미묘한 컴파일러 차이때문에 수없이 시간을 소비했던 걸 생각하면…T_T)

Code::Blocks 는 포터블 앱스를 알아보던 중, 발견한 놈인데 버전이 무려 8.x 대네요.   (O.O)

프로젝트 템플릿들을 보면 게임개발쪽에서 오래전부터 사용해왔던 것 같고, (OpenGL, Ogre, SDL…) 컴파일러 의존적이지 않은 유연한 구조를 가졌습니다. 게다가 크로스-플랫폼이어서 IDE 자체가 Windows, Linux, MacOS 에서 동일하게 작동합니다.

예전엔 콘솔 띄어두고 vi 와 gdb 가지고 열심히 디버깅하는 사람이 그렇게 부러웠는데 (저 많은 명령어들을 어떻게 외우고 있을까), 이젠 안부러워해도 됩니다. 하하하…

 

image

image

image

 

순수한 C++ 로 작성되어 최신 IDE 치고는 아주 가벼운 편이어서 MSVC 6.0 처럼 쾌적한 작업을 할 수 있습니다. 대부분의 IDE 들이 스크립트엔진을 장착하고 컴파일러가 아니라 무슨 프레임웍 마냥 행세를 하려 했다면, Code::Blocks 는 상대대적으로 컴파일/디버깅에 충실합니다.

저사양 컴퓨터에서도 그냥 에디터처럼 쓰면 됩니다.  X 환경에서도 별다른 고민없이 띄우고 작업하면 되죠. (Eclipse 같은거 X 환경에서 띄어보면 참…)

image

 

Code::Blocks 자체는 가볍고 좋은 IDE 일뿐만 아니라, MinGW 컴파일러 세트와 연동해두면, 완전한 포터블 GCC-IDE 개발환경이 만들어집니다. (실제로 Write Once, Compile Anywhere 가 가능해요)

Windows, Linux, AIX 에서의 크로스-플랫폼 지원. Boost 라이브러리의 크로스-컴파일 때문에 골머리를 썩고 있었는데, Code::Blocks 로 쉽게 해결이 가능할 듯 싶네요.

 

image

MinGW 컴파일 세트는 Windows 에서 GCC 환경을 구축해주는 프로젝트입니다. 개인적으로 사용하는 세트는 Boost 1.42 까지 포함된 버전입니다. 옆에 링크에서 다운로드 받으시면 됩니다.  (다운로드 MinGW.7z)

 

추가적인 장점

  • Code::Blocks 와 MinGW 컴파일세트를 USB 메모리에 집어넣으면 컴퓨터가 있는 어디에서라도 동일한 작업을 할 수 있다.
  • wxWidget 를 사용하면, GUI 애플리케이션도 Write Once, Compile Anywhere.
  • Linux / Mac OS X 에서도 동일한 작동이 가능하다는 것이 매우 중요.  Code::Blocks::Wiki 에 가보면 Solaris/FreeBSD 까지 지원이 되는 것을 확인할 수 있습니다.
Advertisements

Written by soyul's papa

3월 16, 2010 , 시간: 7:56 오전

Computing에 게시됨

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: