티스토리 뷰
2013년 30회 대회부터 정보 올림피아드 대회의 본선 개발 환경이 기존 비주얼스튜디오를 가지고 Visual C++ 이나 Visual Basic을 사용하던 것에서 혁명적인 변화가 있었습니다. 윈도우-비주얼스튜디오 환경에서 리눅스-이클립스 환경으로 Gnu C 컴파일러를 사용하는 것입니다.
리눅스를(우분투 12.04) 설치하고 개발 환경을 준비할 수도 있겠으나 필자는 이미 시스템이 준비되어 있는 가상 머신 이미지를 다운로드 받아 이후 환경을 설치했습니다. 가상 머신 종류가 여러개 있으나 오라클의 VirtualBox로 진행했습니다. 크기도 작고 좋았습니다.
우분투 12.04 이미지는 VirtualBox 사이트와 다른 여러곳에서 다운로드 받을 수 있습니다. 대표적인 링크로는 http://sourceforge.net/projects/virtualboximage/files/Ubuntu%20Linux/12.04/ubuntu_12.04-x86.7z를 들 수 있습니다. 예시로 다운로드 받은 파일은 압축율이 높은 7Zip 파일로 7Zip이 설치되어 있어야 압축해제 할 수 있습니다.(물론 오픈소스로 무료입니다) 가상머신 이미지를 받을 때 주의할 점은 이미지를 배포하는 곳에서 유저 아이디와 비밀번호를 같이 배포하고 있으므로 잘 메모해 둡니다. 위의 링크는 ubuntu/reverse이었습니다.
가상 머신 이미지가 준비되면 이미지를 실행할 수 있는 가상 머신 플레이어를 설치하여 실행합니다. 가상 머신 플레이어는 무료로 사용할 수 있습니다. 다운로드 링크는 https://www.virtualbox.org/wiki/Downloads 입니다. 설치 과정은 아래와 같습니다.
Next로 설치를 시작합니다.
설치할 컴포넌트는 기본 설정으로 Next합니다.
바로가기와 파일 확장자를 통한 이미지 실행 옵션도 기본으로 Next합니다.
설치중 네트워크가 중단될 수도 있다는 말인데 Yes로 진행합니다.
끝으로 Install를 클릭하여 설치를 진행합니다. XP에 설치하는 경우 설치 과정에서 아래와 같은 경고창이 여러번 나올수 있는데 [계속]으로 통과시켜 줍니다. 설치가 끝나면 프로그램 시작 옵션과 함께 [Finish]로 설치를 종료시킵니다.
설치 종료와 함께 프로그램을 실행시키면 아래와 같은 화면이 나옵니다.
앞서 다운로드 받은 VirtualBox용 가상머신 이미지를 아래의 그림과 같이 머신>추가 메뉴를 통해 선택해서 등록합니다.
가상머신 이미지가 등록되면 이미지를 선택하고 시작 아이콘을 클릭하거나 더블클릭하여 가상머신으로 우분투 리눅스를 가동시킬 수 있습니다.
가상머신 배포 사이트에서 같이 알려주는 아이디 비밀번호로 로그인합니다.
위의 그림과 같이 키보드 설정에서 한국어 키보드를 추가해 주어야 정상적인 입력이 가능합니다. 통상 외국에서 배포하는 가상머신 이미지를 받은 경우 이과정을 꼭 거쳐주세요.
우측의 선물 꾸러미와 같은 아이콘이 Ubuntu Software Center인데 선택하면 위의 그림과 같이 시스템 업데이트 공지가 있는데 14.04로 업그레이드 하지 않고 넘어갑니다. "Don't Upgrade"를 선택합니다.
g++와 codeblock을 찾아서 설치합니다. g++는 컴파일러고 codeblock은 비주얼스튜디오와 같은 IDE 환경이라 보시면 됩니다.
우분투 리눅스에서는 기본적으로 슈퍼유저(Root)가 아닌 아이디로 로그인하도록 하므로 새로운 프로그램을 설치할 때는 위와 같이 비밀번호를 입력받아 확인 과정을 거칩니다. 로그인할 때 사용했던 비밀번호를 입력하고 [Authenticate]를 클릭합니다. 위와 같은 방식으로 codeblock와 g++컴파일러를 설치했으면 codeblock을 실행합니다.
Code::Block을 처음 실행하면 위의 그림과 같이 프로그램 빌드에 사용할 컴파일러를 찾는데 GNU GCC Compiler를 찾았다는 메시지를 확인할 수 있습니다. [OK]로 넘어가면 됩니다.
위의 그림은 Code::Blocks를 실행시킨 첫 화면 입니다. "Tip of the Day"는 닫으셔도 되고 IDE를 열때 마다 나오지 않게 체크 박스를 풀어도 됩니다.
"Start here"화면에서 New Project를 선택하셔도 되고 상단 메뉴에서 New Project를 선택하셔도 됩니다. 프로젝트를 만드는 과정은 비주얼스튜디오와 매우 유사합니다. 이번 예제에서는 명령 라인에서 동작하는 "Console application"을 선택합니다.
위와 같은 화면이 나오는데 "Next"로 진행합니다.
사용할 언어로 C를 선택합니다. C언어를 익숙하게 배우기 위해서는 C++보다 C를 배우는 것이 좋고 정보올림피아드 문제 해결에도 C언어가 적절한듯 합니다.
다음 화면에서는 프로젝트의 이름과 저장할 위치를 지정합니다. 폴더를 선택하면 그 아래에 프로젝트 이름의 폴더가 생성되고 그 아래 프로젝트 파일(*.cbp)과 소스코드가 생성되는 방식입니다. 입력했으면 Next로 진행합니다.
작업용 폴더를 만들지를 지정하는 것으로 실습중에는 Debug만 만들어도 무방합니다. [Finish]를 클릭하면 프로젝트와 기본 소스 코드를 생성합니다.
자동 생성한 소스코드를 더블클릭하면 편집창이 나오는데 printf함수 안에 적절한 문자열을 입력하고 저장합니다. 상단의 기어와 녹색 화살표가 같이 있는 아이콘이 "Build+Run"인데 이것을 클릭하여 컴파일과 실행을 진행하도록 합니다.
위의 그림은 실행 결과를 나타내는데 비주얼스튜디오로 콘솔 프로그램을 만든 경우와는 달리 창을 자동으로 닫지 않고 엔터키를 입력하도록 기다려 줍니다.
2013년부터인가 비주얼스튜디오 대신 우분투를 사용한다는 이야기를 듣고는 일부 사람들은 욕도하고 그러지만, 개인적인 의견으로는 잘한일이다 싶습니다. 특정 사기업의 제품을 특정하는 대회가 더 이상했던것이 아닌가 싶습니다. 물론 지금은 Express 버전을 배포하기도 하지만 그래도 오픈소스 진영의 프로그램의 성능과 편이도가 높아졌고 임베디드 및 안드로이드를 생각하면 국내 개발자가 리눅스에 더 친해져야 하지 않나 싶습니다.
'IT 일반' 카테고리의 다른 글
진법 변환 - 정보올림피아드 문제풀이 (0) | 2015.03.18 |
---|---|
for 루프와 배열 - 정보올림피아드 문제풀이 (0) | 2015.03.12 |
조건 분석하기 - 정보올림피아드 문제풀이 (2) | 2015.03.12 |
재귀함수(recursive function) - 정보올림피아드 문제 풀이 (4) | 2015.03.11 |
모빌 균형 잡기 - 정보올림피아드 문제 풀이 (0) | 2015.03.11 |