Programming/Language2013. 6. 11. 12:37

 C 프로그래밍 언어는 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 새로 개발된 유닉스 운영 체제에서 사용하기 위해 개발한 프로그래밍 언어이다. 켄 톰슨은 BCPL언어를 필요에 맞추어 개조해서 "B" 언어(언어를 개발한 벨 연구소의 B를 따서)라 명명했고, 데니스 리치가 이것을 개선하여 C언어가 탄생했다. 유닉스 시스템의 바탕 프로그램은 모두 C로 쓰여졌고, 많은 운영 체제의 커널도 또한 C로 만들어졌다. 오늘날 많이 쓰이는 C++는 C에서 객체 지향형 언어로 발전된 것이다. 또 다른 다양한 최신 언어들도 그 뿌리를 C에 두고 있다.

 C는 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있는 프로그래밍 언어이다. 예를 들어 BASIC 등과는 달리 다양한 플랫폼에서 ANSI C의 정의에 따르는 비교적 동일한 구현이 가능하다. 모든 C 시스템에는 정규화된 표준 C 라이브러리가 존재한다. 이런 이유와 생성된 프로그램의 높은 성능이 아직까지도 C언어가 사랑받는 이유 중 하나이다.

 그러나 C 언어가 기술적으로 보아 현재 기술 수준에 부합하지 않는다는 의견이 있으며, C를 "이식가능한 고급 어셈블리어" 정도로 낮추어 부르기도 한다. 이는 반면 오늘날의 널리 쓰이는 거의 모든 운영 체제 커널이 C를 이용해 구현된 이유이기도 하다. C는 시스템 프로그램 개발에 매우 적합하나, 응용 프로그램 개발에도 많이 쓰인다.
(참고 : http://ko.wikipedia.org/wiki/C%EC%96%B8%EC%96%B4)

 

 프로그래밍에 대해서 조금이라도 이야기를 들은 적이 있는 사람이라면 C 언어에 대해서 안 들어본 사람은 없을 것이다. 그 만큼 프로그래밍의 기본이 되는 언어로 시초라고 볼 수 있다. 현재, 많이 사용되고 있는 C++ / C# / JAVA 등의 언어들은 그 기반을 C 에 두고 있다. 이 말은, C 언어에서 사용되고 있는 모든 개념이 다른 모든 언어에서 사용되며, 다른 언어들은 C 언어에서 확장된 개념들을 "더" 가지고 있을 뿐이라는 이야기가 된다.

 나는 프로그래밍을 배우는 이들에게 C 언어로 시작하기를 권한다. 이는 사람이 "걷는 법" 을 배우고, "뛰는 법" 을 배웠다고, 뛰기만 하지는 않는다는 것이 적절한 예가 될지 모르겠다. 처음부터 "뛰는 법" 을 배운다고, "걷는 법" 을 모르는 것은 아니지만, 그만큼 기본이 중요하다. C 언어를 익힌다는 것은 그 기본을 배운다는 것이고, "1" 이라는 것을 "일" 이라고 표현하느냐, "하나" 라고 표현하느냐의 차이는 차후 다른 언어들을 익혀나가면 될 것이다.

 프로그래밍은 단순히 언어를 잘 익히고, 구현을 잘 하는 것이 아니다. 시스템을 이해하고, 구현을 어떻게 할지에 대한 설계를 잘 하는 것이 중요하다. 프로그래밍 언어는 그것을 실현시켜줄 도구에 불과하다는 사실을 잊어서는 안된다.

Posted by 개발자테오
Programming/Environment2013. 6. 11. 08:43

 플러그인(plugin) 또는 추가 기능(애드인;add-in, 애드온;add-on) 은 호스트 응용 프로그램과 서로 응답하는 컴퓨터 프로그램이며, 특정한 "주문식" 기능을 제공한다. 응용 프로그램이 플러그인을 제공하는 까닭은 많다. 이를테면, 서드파티 개발자들이 응용 프로그램을 확장하는 기능을 만들게 하거나, 뜻밖의 기능을 지원하거나 응용 프로그램의 크기를 줄이거나, 호환되지 않는 소프트웨어 라이선스 문제로 인해 소스 코드를 응용 프로그램에서 분리하는 것을 들 수 있다.

(참고 : http://ko.wikipedia.org/wiki/%ED%94%8C%EB%9F%AC%EA%B7%B8%EC%9D%B8)

 

 어떤 프로그램에 없던 새 기능을 추가하기 위해 「끼워넣는」부가 프로 그램. 자체적으로는 실행능력은 없지만 특정한 프로그램 속에서 함께 실행되어 기능을 발휘한다. 원래는 하드웨어 분야에서 컴퓨터가 기본적으로 제공하지 않거나 부족한 기능을 보강하기 위한 장치란 뜻으로 사용되었으나 요즘에는 부가 소프트웨어라는 뜻으로 주로 사용된다. 예를 들어 인터넷 브라우저인 「넷스케이프」의 플러그인 프로그램인「리얼오디오」나 「엑티브X」등을 사용하면 원래 넷스케이프에서 지원하지 않는 음성이나 동영상, 3차원 영상도 즐길 수 있다.

(참고 : http://terms.naver.com/entry.nhn?cid=209&docId=11508&mobile&categoryId=209)

 

 설명이 조금 어려워서, 위키백과와 지식백과 두 곳에서 설명을 발췌해왔다. 이클립스는 다양한 Plugin 이 존재한다. Plugin 은 이클립스에 설치되어 각종 편의 기능들을 제공한다. 그 중에, C / C++ 의 개발을 도와주는 CDT(C / C++ Development Tools) 를 설치하려 한다. 이는 C / C++ Project 생성을 도와주며, 개발 환경을 제공한다. 여기서 말하는 개발 환경은 각종 Function 의 자동 완성 기능을 포함하여, Debug 를 위한 환경까지 제공한다. Text Editor 를 이용하여 Coding 을 하고, Compile 을 하는 복잡하고 불편한 과정을 모두 Eclipse 를 통해서 간편하여 S/W 생산성을 높이는데 큰 도움이 된다.

 

 Eclipse 를 실행한 후, 메뉴 "Help" - "Install New Software..." 를 선택한다.

  Install 창이 열리면, Work with: 콤보박스 옆 화살표를 눌러 리스트 중 "Juno - http://download.eclipse.org/releases/juno" 를 선택한다.

 Pending... 상태에서 시간이 조금 지나면 다음과 같이 설치할 수 있는 리스트가 나온다. 이 중, "Programming Languages" 에 있는 "C/C++ Development Tools", "C/C++ Development Tools SDK" 항목을 선택 후, "Next >" 를 선택한다.

 설치 확인 페이지가 열리면, 설치하고자 하는 리스트를 확인 후, "Next >" 를 선택한다.

 라이센스 관련동의를 물어보면, "I accept the terms of the license agreement" 라디오 버튼을 선택하고, "Finish" 를 선택한다.

 아래의 그림과 같이 선택한 CDT(C / C++ Development Tools) 의 다운 / 설치가 진행된다.

 설치가 완료되면, Eclipse 를 다시 실행해야 한다는 알림창이 나온다. "Yes" 를 선택하여, Eclipse 를 다시 시작한다.

 다음과 같이 Eclipse 가 실행되면, 정상적으로 CDT Plugin 설치가 된 것이다.

Posted by 개발자테오
Programming/Environment2013. 6. 10. 12:05

 앞서 설치한 MinGW (C/C++ 컴파일러) 가 올바르게 실행되도록 환경변수를 설정한다.

 

 제어판에서 "시스템 및 보안" 을 선택한다.

 시스템 및 보안 페이지가 열리면, "시스템" 을 선택한다.

 시스템 창이 열리면, "고급 시스템 설정" 을 선택한다.

 고급 시스템 설정 창이 열리면, "고급" 탭을 선택 한 후, "환경 변수(N)..." 을 선택한다.

 환경 변수 창이 열리면, 시스템 변수(S) 에 있는 "Path" 를 선택한 후, "편집(I)..." 을 선택한다.

 시스템 변수 편집 창이 열리면, 변수 값(V) 에 위에서 설치한 MinGW 의 "설치폴더\bin" 를 추가한다.

 MinGW 의 설치 폴더명은 다음과 같이 윈도우 탐색기에서 폴더를 찾아간 후, 위의 주소를 클릭하면, 전체 폴더명을 복사할 수 있다. 복사, 붙여넣기를 이용해서 오타 없이 넣을 수 있다. 변수 값(V) 에 설치한 MinGW 의 "설치폴더\bin" 를 추가할 때에는, ";"(세미콜론) 을 이용해서 다른 폴더들과 구분을 지어야 한다.

 

 윈도우 에서 "실행..." 을 선택 혹은 키보드의 "윈도우키" + "R" 을 눌러서 실행창을 열어서 "cmd" 를 입력한다.

 cmd 창이 열리면, "gcc" 를 입력한다. 다음과 같이 gcc 가 실행되면, 정상적으로 설치 및 환경변수 설정이 된 것이다.

Posted by 개발자테오