천문 프로그래밍과 관련된 이야기를 나눌 수 있는 곳입니다.
총 게시물 144건, 최근 0 건
   
[AstroDev의 C언어 강좌]우리는 무엇을 준비해야 하는가?(리눅스 편)
글쓴이 : 유환용 별님  (112.♡.209.34) 날짜 : 2009-06-07 (일) 22:22 조회 : 9392
 전 강의, C언어에 대한 극찬글(ㅡㅡ;;)을 읽고 감동을 느낀 분이 계신다면 어서 빨리 C언어로 프로그램을 만들고 싶어 안달나 있을 것이다. 하지만 무엇을 시작하던 환경조성이 필요한 법! 프로그래밍 하기 위해서 환경을 만들 필요가 있다! 여기서 말하는 환경이란 지금부터 프로그래밍을 시작할 OS(Windows, Linux등)부터 자신이 사용할 언어에 적합한 툴(Tool)을 말하는 것이다. 리눅스에서 사용하는 프로그래밍 툴과 MS 사의 Windows(윈도우즈)는 서로 다르기 때문에 프로그래밍을 시작하기 전에 환경 구축하는 법을 알고 있어야 한다. 이상적인 프로그래머는 환경을 가리지 않으며 어떠한 여건 속에서도 프로그래밍이 가능하여야 한다(너무 이상적인가?) 여기서 언급한 그외 환경에서도 충분히 자신이 원하는 환경을 구축하여야 한다. 그러니 어떤 언어를 공부전에 다양한 개발 환경 구축에 시간 투자 하는 것을 너무 아까워 하지 말자.

이번 파트는 환경구축에 관한 이야기를 할것이고 이번 글에서는 리눅스 환경에서 개발환경을 어떻게 준비하는지 소개 할것이며 윈도우즈는 다음 강의에 소개를 할것이다. 환경구축은 이번만 언급을 할 것이며 다음부터는 소스 위주로만 소개를 할 것이기 때문에 이번장에서 정확하게 익히고 나가자


 

환경 구축

 

소스 작성

 

컴파일

 

실행!

 

리눅스

 
Vim Editor

 

 

*.c

소스파일

 

 
gcc 컴파일러

 

 


OS에 따른

실행 파일

           

 

윈도우즈

 

VS 2008

   

 
VS 2008
내장 컴파일러

 



 위 그림은 내가 생각하는 개발순서를 도식화 한것이다. 그림을 보면 각 운영체제 따라 사용하는 개발툴도 다르고 소스를 실행 파일로 만들어주는 컴파일러도 다르고 실행 파일조차 운영체제에 따라 다른 것을 확인 할수가 있다. 단 하나 같은부분은 소스 파일 부분만 같음을 알수가 있다.

 이 그림에서 우리가 보아야 할 곳은 환경구축 부분이다. 보는 것과 같이 리눅스와 윈도우즈에 따라 환경이 다름을 확인 할 수 가 있다. 그럼 이제부터 리눅스 환경에서 어떻게 프로그래밍이 가능한 환경을 조성하는지 알아보자.

 

 

##########     준 비 할   것 들     ##########
- 리눅스 계열 OS 가 설치된 컴퓨터
- 리눅스용 GCC 컴파일러               
- Vim Editor                                       


 자신이 사용할 컴퓨터에 리눅스가 설치가 되어있는가? 만약 리눅스 설치를 하기 싫다면 이 강의를 보지 않아도 된다. 내가 선택한 리눅스 배포판은 우분투이다. 지금 이후부터 리눅스 관련 명령어는 우분투 기준으로 설명을 하며 만약 배포판이 다를 경우 각 배포판 포럼에 가서 참고하기 바란다.

 리눅스에 C 언어 소스를 실행파일로 만들어주는 컴파일러를 설치해보자

     1. 컴파일러가 설치 되어있는지 확인

user@localhost:~$ gcc
gcc: no input files
user@localhost:~$ gcc -v
Using built-in specs.
.
.
.
gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)

리눅스 터미널 창을 열고 gcc (또는 gcc -v) 입력해보자 위 그림과 같이 나온다면 컴파일러가 설치가 되어있는 것이다. 만약 명령어를 받지 못한다면 gcc 컴파일러가 설치 되어 있지 않으니 아래 명령어로 설치를 해주자

     sudo apt-get install gcc

 내가 리눅스에서 주로 사용하는 프로그래밍 툴은 Vim Editor이다. 터미널 환경에서 동작하며 메모장과 같은 기능을 가지고 있다. Vim Editor가 생소한가? 그럼 자신이 원하는 다른 툴을 찾아 설치하길 바란다. 툴은 툴일 뿐이니까...

우분투에서는 기본적으로 vi 또는 vim 명령어를 터미널에 입력하면 편집창이 실행된다. 그러나 그 Vim은 일종의 데모버전임으로 방향키와 같은 특수키들이 잘 안먹히는 것을 알수있다. Vim도 설치를 해야 방향키를 사용할수가 있다. 다음 명령어로 Vim을 설치하자

     sudo apt-get install vim

Vim Editor까지 설치가 완료되면 이것으로 리눅스 안에서 환경구축은 끝나게 된다. 너무 쉬운가? 환경구축이 쉽게 느껴졌다면 나야 기쁘다. 다음강좌에서는 윈도우즈 기반 환경구축을 설명하겠다. 다음 강좌도 이번 강좌처럼 식은 죽 먹듯이 술술넘어갈 것이다.


확인 안하는 부담 없는 숙제!!!
1.Vim Editor의 사용법과 에디터 안에서 줄 번호 띄우는 것과 글자 색을 나타내는 방법을 알아보자
2.CUI 환경의 Vim Editor가 마음에 안든다면 리눅스용 GUI 환경의 개발툴을 찾고 설치해보자
     (예: monodevelop, gedit)
[이 게시물은 최고관리자님에 의해 2012-12-20 11:00:41 프로그래밍 강좌에서 이동 됨]

어재규별님 (61.♡.11.183) 2009-06-10 (수) 17:17
도대체 리눅스는 어떻게 깔라는건지 ㅋㅋㅋ
댓글주소
유환용별님 (112.♡.209.34) 2009-06-10 (수) 18:18
ㅋㅋㅋㅋㅋㅋ 그건 주제에서 벗어나고 길어서 안넣었어요.
특집으로 넣을까요? ㅋㅋㅋㅋ
댓글주소
유환용별님 (112.♡.209.34) 2009-06-10 (수) 18:18
http://www.hackerschool.org/Sub_Html/HS_Community/?Type=Elementary&More_Size=-80
댓글주소
   

총 게시물 144건, 최근 0 건
번호 제목 글쓴이 날짜 조회 추천
144  음양력 변환 프로그램 CalTime 3.4 +1 김동빈별님 11-24 7091 0
143  현재 시간에 따른 태양, 달 위치 계산. +1 조재훈별님 08-30 6340 0
142  [DreamSpark] Microsoft의 정품 프로그램을 무료로 … +6 백승우별님 01-21 8224 0
141  일식 예측을 위한 태양과 달의 위치 계산 +1 이형철별님 11-21 10750 0
140  사이토구니치의 古天文學 번역판을 공개하며 +1 이형철별님 08-22 11151 2
139  [AstroDev의 C언어 강좌] 나왔다 Hello World!!! +3 유환용별님 07-01 8574 0
138  [AstroDev의 C언어 강좌] 컴퓨터 데이터 표현 방… 유환용별님 06-28 9844 0
137  IAU2000 장동 모델 +2 김창환별님 06-25 11766 0
136  [AstroDev의 C언어 강좌]메모리 안에서는 무슨일… +10 유환용별님 06-10 11921 0
135  [AstroDev의 C언어 강좌]우리는 무엇을 준비해야… +7 유환용별님 06-08 9816 0
134  [AstroDev의 C언어 강좌]우리는 무엇을 준비해야… +3 유환용별님 06-07 9393 0
133  [AstroDev의 C언어 강좌]C언어를 공부하기 전에 … +4 유환용별님 06-06 9981 0
132  IAU2006 세차 모델 +1 김창환별님 05-18 10559 0
131  각도변환문제 : 도(degree), 시(hour), 라디안(radia 지용호별님 04-15 17930 0
130  지구의 세차운동(歲差運動, Precession) 계산하… +5 지용호별님 04-14 14418 0
 1  2  3  4  5  6  7  8  9  10  맨끝
 
Since 2001.2.7 미래창조과학부 등록 비영리민간단체 천문노트. Copyright All rights reserved.
단체명 : 천문노트  |    고유번호 : 101-82-15888  |    대표자명 : 김태욱, 조우성  |    주소 : 138-804 서울특별시 송파구 가락동 93 금강빌딩 7층 710호  |    전화 : 02-543-3295  |    Fax : 02-6918-6888  |    통신판매신고번호 : 종로 제01-5696호  |    개인정보관리책임자 및 사이트관리자 : 지용호