이 글에서는 C 언어에 대해서 소개 해보도록하겠습니다. 자세한 내용은 계속 진행되는 강의 속에서 알아보도록 하고, 이번 강의에서는 간단하게 C 언어의 기본 구성에 대해서 살펴보도록 하겠습니다. 이 글을 보시는 분들은 C언어 뿐만 아니라 다은 언어도 배우실 분들일 것입니다. 새로운 언어를 배우는 방법은 소스코드를 직접손으로 쳐보고 오류가 나면 오류를 고쳐 보는것입니다. 그러므로 이글을 읽는 분들은 소스코드를 눈으로만 보지 마시고 직접 작성해보시면 많은 도움이 될것입니다. 먼저 시작하기 전에 이 블로그에 와주시분들에 감사의 말씀 드립니다.
C언어 시작
- CPU 와 어셈블리 언어
push ebp
mov ebp,esp
sub esp,8
mov ebp,esp
sub esp,8
…
위의 명령어를 보면 한눈에 봐도 정감이 가지 않는다. 위에 명령어를 알기위해서는 CPU의 내부구조도 어느 정도알고 있어야 한다. 이러한 명령어를 어셈블리 언어라 한다. 어셈블리 언어는 CPU에 가장 가까운 언어임에는 틀림이 없다. 그러나 CPU가 직접적으로 위의 명령어를 이해할 수있는 것이아니다. 많은 분들이 알다시피 컴퓨터는 0,1 만을 이해할수 있다. 따라서 위의 명령어는 0과 1로 이루어진 코드(바이너리 코드)로 변환이 되어야 한다. 바이너리 코드로의 변환은 어셈블러 를 통해서 이루어진다. 지금 까지 어셈블리 언어에서 바이너리 코드로 변환 시켜야만 CPU에게 명령할수 있다는것을 알수 있었습니다. 이러한 명령문은 CPU에 의존적입니다. Intel 기반의 어셈블리언어로 동작하는 프로그램을 ARM 에서 동작시키려면 ARM 기반의 어셈블리언어로 다시 구현해야 합니다.
- C언어와 컴파일러
컴파일러 어셈블러
C프로그램 코드 -> 어셈블리 코드 -> 바이너리 코드
C언어의 등장으로 C언어 구문만 작성하면 어셈블리 코드 까지 자동으로 바꿔주니 얼마나 멋진일인가 !
우리는 컴파일러만 있으면 C언어로 프로그래밍을 작성할수 있다. 이제 우리는 C 언어 프로그래밍을 하기위해 컴파일러를 설치할것이다. 마이크로소프트 사에서 배포하는 Visual Studio 2010 을 사용하도록 하겠습니다. (마이크로소프트 사의 개발환경을 선택한것은 가장보편적이고 공짜로 사용할수 있다는 점에 선택한것입니다.)
http://www.microsoft.com/visualstudio/ko-kr/download 여러분은 이링크에서 Visual Studio 를 설치해 주시면 됩니다.
설치가 완료되면 Visual Studio 를 실행 시켜줍니다. 이 프로그램이 여러분이 C 프로그램을 개발할 환경입니다. 일단 Ctrl - Shift - N 을 눌르거나 파일 - 새로 만들기 - 프로젝트를 클릭합니다.
이제 좌측 솔루션 탐색기에 소스 파일에 마우스 오른쪽 클릭을 한다음 새항목을 클릭합니다.
아래와 같이 이름을 Helloworld.cpp 로 하시고 추가 하면 개발환경 구축이 마무리되게 됩니다.
지금 까지 제대로 따라오셨으면 다음과 같을것 입니다. 그렇다면 이제 비로소 프로그래밍을 시작할 준비가 된것입니다.
Hello World !
#include <stdio.h>
int main()
{
printf("Hello, World\n");
return 0;
}
int main()
{
printf("Hello, World\n");
return 0;
}
작성을 다하셨다면 밑에 그림과 같이 솔루션 빌드를 해줍니다.
빌드를 성공적으로 하셨으면 Ctrl - F5 를 눌러서 프로그램을 실행해 봅시다.
드디어 C 언어를 이용한 여러분 최초의 프로그램을 만들었습니다. 아직 C 언어에 대해서 모르지만 모르는것은 알아가면 되는것 입니다. 다음 강의에서는 위의 소스코드에 대한 설명을 알아보고 C언어의 구문들의 형태에 대해서 알아보도록 하겠습니다. 감사합니다.
"C 언어는 시작이 반이다. 그리고 나머지 반은 인내다."
'C PROGRAMMING - 기초' 카테고리의 다른 글
C언어 - 상수정의 (0) | 2012.02.18 |
---|---|
C언어 - For 문 (6) | 2012.02.16 |
C언어 - 변수와 수식표현② (0) | 2012.02.14 |
C언어 - 변수와 수식표현① (17) | 2012.02.13 |
C언어 - Hello,World (7) | 2012.02.05 |
C언어 - 시작 (43) | 2012.02.04 |
댓글을 달아 주세요