ncurses 01 – ncurses 프로그래밍이란?

전에 작업하던 C언어 내용과는 별개로 재미를 붙이기 위해서라도 좀 해야 할 거 같아서 추가로 시작해봅니다. ㅇㅂㅇ

일전에 DOS를 사용하던 분들은 아시겠지만, MC(Midnight Commander)라는 것을 이용하여 콘솔 화면에서도 GUI 처럼 화면을 이리저리 보여주고 방향키로 선택 커서를 옮겨 다니고, 화면에 단축키 처리를 할 수 있던 녀석이 기억 나실지 모르겠습니다. 도스 환경에서는 MDrill, 좀 근래에 썼던 사람들은 mdir이라고 아실텐지… (나이 인증 아닙니다.)

mc-panels.png

이런 비슷한 녀석이요.

당연히 터미널 시스템에서 텍스트 기반으로 쓰던 시스템 환경에서도 화면에 보이는 기술이 중요하다는 것을 알고 있기 때문에, 이런 기반의 기술을 내놓게 됩니다. 바로 Unix System V ver 4.0에 있던 curses라는 기능입니다. 이 기능을 GNU에서 공개해서 어디서든 쓸 수 있도록 한 것이 바로 ncurses입니다.

즉, ncurses 는 콘솔 화면에서 사용자가 이용하기 쉽도록 사용자 친화적인 콘솔 윈도우 화면을 만드는 데 이용되는 라이브러리입니다. 메뉴 바를 제어하거나, 키보드 입력을 돕거나, 윈도우를 띄워주는 그런 기능들을 합니다.

당연히 이런 기능들을 쉽게 이용할 수 있도록 라이브러리화 되어 있고, 함수로도 구현되어 있기 때문에 적절하게 사용하면 됩니다. 그렇다고 해서 뭐 그렇게 큰 환경이 필요한 게 아닙니다. 터미널로 접속 가능한 리눅스만 있으면 충분히 가능합니다.

C언어를 진행하다 보면 지속적으로 물어보는 것이 “이거 어떻게 써요?” 하는 겁니다. 리눅스 시스템 프로그래밍 하는 건 어느 정도 알겠고, 입출력 하는 프로그램이야 당연히 알겠고, 장치 드라이버 짜는 것까지는 알겠는데, 더 이상 어떻게 쓸 곳 없냐고 물어보더군요. 그래서 C 언어를 리눅스에서 프로그래밍하는 것과는 별개의 과정으로 이 과정 또한 조금씩 다뤄보려 합니다. C를 할 줄 안다면 어렵지 않습니다. 오히려 더 좋은 길잡이가 될 수 있으면 좋겠군요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.