레이블이 IDE인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IDE인 게시물을 표시합니다. 모든 게시물 표시

2007년 9월 6일 목요일

이클립스 유로파(Eclipse Europa)를 사용한 NS2 통합개발환경(IDE)

요약: 이클립스 유로파(버전 3.3)에서 Makefile로 만들어진 소스코드를 빌드하는 방법을 설명한다. Cygwin 혹은 MinGW에서 컴파일을 하기를 원하는 경우 이 문서에서 소개하는 절차를 따르면 된다. 리눅스에서 같은 작업을 하는 경우에는 컴파일 환경(Cygwin이나 MinGW)을 따로 선택하지 않는 것만 달라진다. 윈도우에서 NS2로 시뮬레이션을 하는 경우, 그리고 사용하고 있는 에디터보다 통합개발환경(IDE)을 사용하여 프로그래밍을 하기를 원하는 사람들에게 유용한 팁이다.


이전에 이클립스에서 NS2를 컴파일하는 방법에 관한 글을 작성한 적이 있는데, 이클립스의 새 버전(3.3)인 유로파가 릴리즈되면서, 프로젝트 생성하는 방법이 좀 달라졌다. 이에 따라 새로이 글을 작성하기로 하였다. 이전의 문서와 동일하게 Cygwin, NS2가 설치되어 있어야 한다.


1. 이클립스 사이트에 가서 Eclipse IDE for C/C++ Developers를 다운로드 받고 설치하시라.

2. 이전 버전에 비해 설정은 매우 간단해졌다. 먼저 File->New->C++ Project를 선택하자. 다음의 그림과 같은 창을 볼 수 있을 것이다.


3. 프로젝트 이름에 ns2 등을 적어주고, Use default location의 체크를 해제한 후 NS2 소스코드가 설치된 디렉토리를 Location에 지정한다. (Browse를 클릭하여, NS2 소스코드가 설치된 디렉토리를 선택하면 되는데, 아마도 CYGWIN/home/USERNAME/ns-allinone-2.xx/ns-2.xx/처럼 되어 있는 것이 가장 일반적인 경우일 것이다. NS2 소스코드 디렉토리로 ns-allinone-2.xx만을 선택하는 일이 없도록 하자. 이럴 경우, Tcl이나 Tk 등의 소스코드마저 포함되기 때문에 너무 거대한 프로젝트가 될 것이다.)

4. Project type은 Makefile project를 클릭하고, 오른쪽 영역에서 toolchain은 Cygwin GCC를 선택한 후, Next 버튼을 클릭하자. 다음과 같은 창을 볼 수 있을 것이다. 이제 Finish 버튼을 눌러 프로젝트 생성을 마무리하자.
NS2 사용자를 위한 또 다른 팁!
이클립스에서는 스크립트 언어를 위한 플러그인을 제공하고 있다. NS2에서 Tcl을 편집할 일이 많으므로, Help->Software Updates->FInd and Install을 선택하여 Dynamic Languages Toolkit을 다운로드 받도록 하자. Tcl에 익숙치 않은 분들에겐 변수, 커맨드 등을 다른 색으로 구분하여 주므로 많은 도움이 된다. Tcl을 사용하는 데 필요한 플러그인은 다음의 두 가지이다.
- Dynamic Languages Toolkit - Core Framework
- Dynamic Languages Toolkit - TCL Development Tools


2007년 5월 18일 금요일

Eclipse를 사용하여 NS2 통합개발환경(IDE) 만들기

요약: 이 글은 윈도우에서 Cygwin에 NS2를 설치했을 때 사용하는 팁에 관한 글이다. 유닉스 환경에서 프로그래밍을 하는 것이 익숙치 않거나, IDE(통합개발환경)에서 NS2(Network Simulator)를 사용하고 싶었으나 방법을 모르는 분들을 위해 정리하였다. Eclipse에 CDT(C/C++ Development Tooling)를 사용하여 NS2의 소스 트리를 임포트하는 방법을 설명한다. 이 방법은 유닉스의 기본 Makefile을 사용하는 방법이므로, Makefile이 있는 프로그램이면 Eclipse를 사용하여 통합개발환경을 구축할 수 있다.


Code::Blocks에 관한 글 에서도 밝힌 바 있지만, 이미 vi 에디터를 사용하여 익숙한 개발 환경을 만들어 사용하는 분들도 있겠지만, IDE 환경을 편하게 생각하는 사람들도 매우 많다. 나는 특히 Vi를 매우 싫어하는데, 손에 익은 핫키(예를 들자면 Ctrl+S)들을 무의식적으로 눌렀을 때 받는 스트레스가 Vi가 싫은 이유 중 하나이다. Vi를 잘 꾸미면 더 가독성을 높일 수 있겠지만, 내 경우는 터미널에서 Vi를 띄워서 글을 읽으면 코드가 눈에 잘 들어오지 않는 이상한 시각인지구조를 갖고 있다.

설명을 하는 순서는 다음과 같다. 유닉스 환경에서 eclipse를 사용하는 분들은 1에서 eclipse에 CDT 플러그인을 설치하고, 3.1)과 3.2)의 과정만 따라하면 NS2를 위한 IDE 환경 구축이 끝난다.
1. NS를 사용하기 위한 프로그램들 설치
2. 환경변수 설정 (Option)
3. 프로젝트 생성


1. 설치해야 할 것들

- Cygwin
Cygwin은 윈도우에서 유닉스 환경을 만들어 주는 프로그램 패키지이다. 사실, Cygwin에서 돌아가는 모든 프로그램들은 윈도우용 프로그램이지만, 이 작은 프로그램들을 사용해 유닉스처럼 사용할 수 있다는 것은 매우 놀랍다. 유닉스용으로 개발된 많은 프로그램들이 Cygwin에 포팅되어 있고, 소스코드에서 Cygwin에서 컴파일을 지원하는 경우도 많다. 오늘 설명하는 NS2의 경우가 바로 대표적인 사례다. 예전에는 NS2를 사용하려면 따로 리눅스 머신을 설치하거나, 공용으로 시뮬레이션 서버를 만들어 두곤 했었는데, 이제는 Cygwin이 있으므로 그런 수고가 많이 줄어들었다.

- NS2
NS2는 네트워크 시뮬레이션을 할 때 많이 사용하는 시뮬레이션 툴이다. 네트워크 시뮬레이션이라고 하면 그 용도가 한정적인 것 같지만, 서버를 배치하고 서버들 간의 네트웍을 구성하여 각각의 워크로드를 분석하는 데도 적용 가능하거나, 네트웍 장비의 필요 스펙 등에도 활용할 수 있을 것으로 생각한다. NS2에 대해서는 나중에 다시 글을 쓸 기회를 갖고 싶은데, 시간이 허락할 지 모르겠다. 이런 이유로 NS2에 대해서는 이것으로 패스~

-
이클립스(Eclipse)
이클립스는 Java를 개발하기 위해 많이 사용하는 툴이지만 플러그인이 다양하기 때문에 어떻게 사용하느냐에 따라 활용 방법은 매우 다양해진다. Java 개발 툴로서는 매우 강력한 IDE 환경이지만, 다른 언어에서는 그만큼 강력하지는 않은 것이 좀 아쉬운 점이긴 하다. C와 C++를 사용하려면 Eclipse에 CDT를 플러그인으로 설치해야 한다.


2. 환경변수 설정

Cygwin을 설치하면 유닉스의 각종 유틸리티들이 윈도우 프로그램 형태로 설치되고, Cygwin 디렉토리는 루트("/")로 인식된다. Cygwin에서 설치되는 많은 프로그램들을 패스(PATH) 환경변수에 넣어 두면 윈도우 터미널에서도 Cygwin의 모든 유틸리티들을 사용할 수 있다. 그런데, 이 방법을 원치 않는 경우에는 스킵하여도 좋다. 3. 프로젝트 생성에서 PATH 환경변수를 추가하지 않고, 따로 환경변수를 입력하면 되므로 패스가 지저분해지는 게 싫은 분들은 그냥 다음 단계로 넘어가시길.

1) 내 컴퓨터 -> 속성 -> 고급 탭-> 환경 변수(N)를 선택한다.
2) 시스템 변수에서 PATH를 선택하고 편집 버튼을 클릭한다.
3) PATH 환경 변수의 제일 마지막에 [Cygwin이 설치된 디렉토리]bin을 추가한다. (C:에 설치했다면 C:cygwinbin)


3. Eclipse에서 프로젝트 생성


1) New -> Project -> C++ -> Stadnard Make C++ Project를 선택한다.
2) Use default location이 기본적으로 체크되어 있는데 이것을 해제하고, NS2 소스코드가 설치된 디렉토리를 선택하고, 프로젝트 이름을 입력한 후 Next 버튼을 누른다. (NS2소스코드가 설치된 디렉토리는 ns-allinone-2.xx/ns-2.xx이다. ns-allinone-2.xx 디렉토리는 tcl, tk, otcl 등의 소스코드를 담고 있는 디렉토리가 함께 포함되므로, 선택할 필요도 이유도 없다. tcl이나 tk의 소스코드를 고치고 싶지 않다면 말이다.)

※ 유닉스에서 eclipse를 사용하는 경우에는 gcc나 make의 PATH가 이미 잡혀 있는 경우가 많으므로, 3)을 하지 않아도 무방하다.

3) Environment tab -> Select 버튼을 선택한다. 위(2. 환경변수 설정)에서 PATH 환경변수를 설정한 경우 3-1을, 그렇지 않을 경우 3-2와 같이 설정한다.
3-1) PATH 환경변수가 선택되도록 체크한다.
3-2) NEW 버튼을 누른 후 다음을 입력하자.
Name: UTILPATH (다른 이름을 입력하여도 무방하다)
Value: [Cygwin이 설치된 디렉토리]bin


이제 모두 완료되었다. Ctrl+B를 눌러 Build를 해 보자. 에디터 창 아래의 Console에 뭔가 주루룩 올라가고 컴파일이 정상적으로 된다면 다 제대로 되었다고 보면 된다.

2006년 12월 6일 수요일

공짜로 IDE 프로그래밍 환경 구축. Code::Blocks

요약: 무료 소프트웨어인 코드블럭(Code::Blocks)을 소개한다. 코드블럭은 GCC를 사용하는 다양한 환경에서 통합 프로그래밍 환경(IDE)를 제공한다.


C/C++ 로 코딩을 하는 사람들은 워낙 사용하는 툴이 다양하다. Vim, Emacs, Eclipse, VisualStudio 등등. 그만큼 프로그래밍을 하는 환경이 다양하고, 운영체제에 맞는 툴을 찾아야 하는 경우가 많다. 윈도우에서 코딩을 해야 하는 경우면 아마도 VisualStudio가 대부분이 아닐까 하는 추측을 해 본다.

유닉스에서 코딩할 때도 윈도우에서 코딩할 때도 모두 사용할 수 있는 옵션은 Vim, Emacs, Eclipse 정도가 되겠다. 오늘 그 가운데 새로운 옵션 하나를 추가해 볼까 한다. Code::Blocks가 그것이다. 이클립스에 CDT를 깔아서 쓰는 게 괜찮은 옵션이긴 하지만 이클립스 자체가 좀 무거운 편인 데다가 리눅스에선 종종 indexing을 하다가 에러를 일으키는 경우가 있다. (full indexing 인 경우 특히.)

코드블럭은 매우 오래 전부터 오픈 소스로 진행되어 온 프로젝트이다. 지금도 활발히 개발이 진행 중이지만, 1.0rc2가 2005년 10월에 나온 이후로 정식 릴리즈가 나오지 않고 있다. 개발자들에 의하면 1.0 버전이 나온 이후에 많은 코어 모듈을 다시 디자인하고 리팩토링을 추진하기로 결정했고 그 때문에 아직도 정식 릴리즈 대신 데일리 빌드(nightly build)만 추가하고 있다고 한다.

윈도우에서는 1.0rc2를 테스트해 보았고, 우분투 리눅스에서는 최근의 빌드를 테스트해 보았다. 결과는 아무래도 1.0rc2가 안정적인 느낌이지만, 최근의 빌드도 상당히 괜찮아 보인다. 안정성을 따지자면 한참 사용해 봐야겠지만 지금 당장 코딩을 진행하기에 나쁘지 않아 보인다.

코드블럭의 위키 페이지에서 확인할 수 있는 것처럼 다양한 종류의 컴파일러를 지원한다. 윈도우+Cygwin, 윈도우+MingW, 윈도우+Visual Studio C++ 2005 등의 옵션이 가능하다. 윈도우에서 리눅스 혹은 크로스 컴파일러를 사용한 개발 환경을 사용하는 경우에도 괜찮은 옵션이 아닐까 한다.

1. 설치방법
다운로드: 1.0rc2, 데일리 빌드
데일리 빌드의 경우 매일 나오기 때문에 필요할 때마다 업데이트 하면 된다. 설치하는 방법은 코드블럭 위키에서 "Instaling Code::Blocks nightly build on Windows"를 참고하면 되겠다. 다양한 플랫폼에서 설치할 수 있는 방법이 여기에 나와 있으므로 어렵지 않게 설치할 수 있을 것 같다.

2. 사용방법
일반적인 IDE 환경처럼 프로젝트를 생성하고, 관련 소스코드를 추가하고 하는 형식으로 되어 있다. 클래스 위자드를 사용할 수도 있지만, 파일을 생성해 주는 것 외에 특별히 중요한 기능이 있지는 않다. Makefile을 사용하기 위해선 커스텀 makefile 옵션을 체크해 주고, 메이크 파일에 정의돼 있는 빌드 옵션을 코드블럭의 빌드 옵션에 추가해 주면 된다. (all, clean 같은...)

코드블럭의 장점이라면 최근의 IDE 들이 갖고 있는 많은 기능을 상당히 가벼운 리소스를 사용하면서도 제공해 준다는 것이다. 플러그인을 추가할 수 있게 되어 있어 앞으로가 기대되는 프로젝트이다.

3. 스크린샷
아래의 스크린샷은 NS2 네트웍 시뮬레이터를 코드 블럭에 읽어 온 화면이다.