2012년 7월 21일 토요일

Microsoft visual express 프로젝트 만들기 및 소스 코드 설명

안녕하세요. Tender입니다.

이번 포스트에는 Microsoft Visual express로 프로젝트 생성부터 프로그램 실행까지의 내용을 다룰겁니다.

그럼 시작하겠습니다.
프로그램을 실행해 줍니다.
파일탭에서 새 프로젝트를 누르시면 이런 화면이 나오는데요.
이름은 마음내키는대로 쓰시고 win32 어쩌구 눌러서 확인해주세요.
다음 누르시면
프로그램 설정이 나오는데 빈프로젝트를 체크하시고 마침을 눌러주세요.
마침을 누르시면 말 그대로 빈화면만 나오는데, 이 때 소스 파일폴더에 오른쪽 클릭-추가-새 항목을 눌러주세요.
그리하면 위같이 C++에다 클릭해주고 추가를 눌러줍니다.
그러면 아무것도 안 써있는 텍스트창이 뜨는데요. 여기다 소스코드를 써주는겁니다.
기본 코드만 썼습니다. 여기서 코드 설명 들어갑니다.

1번줄
 //는 주석처리(프로그램에는 출력되지 않는 것.)를 담당합니다.
헷갈리지 않게 표시하거나 블로거들이 독자들을 설명할 때 쓴다고 들었습니다.
주석에도 종류가 있는데 //와 /*,*/가 있습니다.
//는 //기호가 써있는 줄만 주석처리하구요.
/*,*/는 열고 닫기 형식으로 쓰이며, 문단을 주석처리 해줍니다.
이 기호는 몇줄이든 상관 없습니다. 열고 닫기만 잘 해준다면요.
(ex)
//이줄은 주석처리
/*
이 문단은 주석처리
*/

4번줄
#include는 < >안에 들어있는 파일을  끼워 넣고 소스 코드를 다시만들어주는 역할을 합니다. 즉, 전처리기 지시자 역할을 합니다.
저는 stdio.h를 포함 시켰는데요. 이 파일을 포함시켰기 때문에 {}안에있는 printf가 출력될 수 있게 해주는 겁니다.
따라서, < >안에 파일이름이 다르면 다른 기능의 코드를 만들어주겠죠?
#include 명령이 컴파일 전단계의 처리되기 때문에 전처리 명령이라고 합니다.

6번줄

main( ) 함수는 실행 프로그램에서 한 개 이상의 main함수를 가져야 하는데 main함수 자체는 프로그램의 시작점을 의미하기 때문에 main이라는 이름을 변경할 수 없습니다.

void는 매개변수가 없다는 것을 의미합니다.

7번줄
{} 블럭은 메인 함수의 시작과 종료를 의미합니다.
하나의 함수문장은 ;(세미콜론)으로 끝납니다.

8번줄
printf( ) 함수는 기계 코드 형태입니다.
프로그램에 문자열을 출력하기 위해서 사용하는 함수이며 표준출력함수라고도 합니다.
아까 <stdio.h>를 #include가 명령해야만 쓸 수 있습니다.

/n: 다음 절로 넘어가는 역할을 합니다.

int와 return 0;
int는 main 함수의 리턴값이고 반드시 int의 값을 리턴해야 합니다.
위에서는 int가 0을 리턴하고 있고 정상적으로 종료된다는 것을 의미 합니다.
단, 0이외에 숫자가 오면 정상적으로 종료되지 않았다는 것을 의미 합니다.
그리고 ex처럼 리턴 없이 main() 을 만들어도 좋습니다.
(ex)
void main(void)
{
//내용
}

이제 Ctrl+F7을 눌러 컴파일과 링킹을 하고 Ctrl+F5로 프로그램을 실행하면 위와 같이 printf함수 안에 있는 Hi만 입력이 됩니다.

이걸로 프로젝트 생성부터 실행까지 모두 마쳤습니다.
제일 기초적인거라그런지 오류가 없었더군요. 다행입니다.
여기서 헤맸으면 돌뻔 ..
없는 지식에 글 쓰느라 무척이나마 힘들었습니다 ㅠㅠ.
그래도 글을 완성하니 독자는 없지만 뭔가 뿌듯했습니다.
그럼 다음 포스트에서 뵐게요.

프로그램을 만드는 과정

저는 C와 C++ 프로그래밍을 책으로 독학하려고 도전하려는데요.

생각보다 복잡하더라구요.

프로그램을 만드는 프로그램 중에서 마이크로소프트 비쥬얼이라는 프로그램을 써서 하는 게 제일 쉽다고 들어서 이 프로그램으로 천천히 발전해 나가려고 합니다.

소감은 여기까지 하고 본론으로 넘어가서 프로그램 만드는 과정을 소개할까 합니다.

혹시, 독자분들 중에서 컴퓨터에 관심이 많은 사람들은 대부분 알 테지만, 저로서는 처음 접했기 때문에, 사소한 것이라도 짚고 넘어가겠다는 생각으로 봐주셨으면 좋겠네요.

우선 순서를 따지자면

  1.소스 코드를 작성한다.

  2.컴파일을 한다.
{                               >컴파일러
  3.링킹을 한다.

  4.프로그램 실행한다

이런 순서가 나오는데요.

제가 왜 2,3번을 1번과 4번과는 따로 묶었는지 대부분 잘 아실 것입니다.

이유는 컴파일과 링킹을 묶어서 컴파일러란 단어를 쓰기에 묶은 것입니다.

컴파일러의 종류에는 MS컴파일러,Borland컴파일러,TurboC컴파일러 등이 있습니다.

여기서 소스 코드란 잘 아시겠지만 기계어입니다.

컴파일: 컴파일러를 활용하여 기계코드인 목적 코드를 만드는 것을 말합니다.

자세히 말하자면, 컴파일은 임시 파일 작성과 기계어 변환 단계로 나눌 수 있는데, 컴파일을 하게 되면 우선 전처리 명령을 찾아서 처리하게 됩니다. 이 과정에서 코드를 다시 작성하게 되는데, 이 작성한 코드를 임시 파일이라고 합니다. 그리고 임시파일을 또 기계어로 변환하는 작업이 실행 됩니다. 변환이 완료되면 완성된 이 파일을 목적파일이라고 합니다.

링킹: 컴파일을 통해 만든 목적파일은 기계 코드일 뿐이라서, 각각의 목적 파일들을 묶어서 하나의 완성된 프로그램으로 만드는 것을 말합니다.(이 과정에서 실패하면 다시 소스 코드 작성으로 돌아갑니다.)

실행: 프로그램 완성!

이해가 잘 되시나요? 저는 이것들을 이해하려는데 머리에 쥐가 나는 줄 알았습니다. 머리가 나쁜 탓인지 ...

블로그 개설!

안녕하세여.
C언어 프로그래밍에 도전하는 Tender라고 합니다.