블로그 이미지
송시혁

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

C언어 기본 작성 방법

위에 보이는 경로에 내 문서- 수업(새 폴더 만들기) - C언어수업(새 폴더 만들기)- 날짜 (2013-03-05)

 

위의 경로를 복사하여 아래 그림과 같이 메모장 에 복사한다. 참고로 위의 main.c, main.exe, main.obj는 내가 프로그램을 완성시켜서 그런것이다. 처음 할 때는 없다!!

 

 

위에서 enter를 친다. 그렇게 되면 아래 그림처럼

 

 

 바로 생성한 파일의 경로에 저장할 수 있게 된다.

 

프로그램을 메모장에 작성한뒤 저장한다

 

main.c로 저장한다. 확장자 반드시 .c!!!!

 

 

 

아까 만들었던 폴더에 우클릭해서 프롬프트 실행한다. 아이콘에 우클릭 아님.

 

프롬프트에 cl main.c를 친다

잠시 기다리다가 글자가 나오다가 멈춘다

그리고 D:\내문서\C언어 수업\2013-03-15>라는 필자가 지정한 경로가 나오는데 여기에서 main이나 main.exe로 입력한다. tab키를 눌러도 된다!!

그러면 pritntf문에서 작성하였던 내용이 출력되는것을 확인 할 수 있다.

그리고 main.exe와 main.obj가 생성되는 것을 볼 수 있다. 참고로 위의 생성되어 있는 것은 먼저 실행해서 만들어 놓은 것을 스크린 샷 햇다. 처음부터 하려니 귀차니즘이 ㅎㅎ

 

자 이번엔 위의 그림에서 아이콘 3개를 보자!!! 그리고 아래에 추가된 아이콘들을 잘보자!!!

 

main.c와 main.asm파일이 추가 된것을 알 수 있다. 이 파일들을 만드는 특정한 명령어가 있다.

main.i= cl /P 파일명.c, cl 파일명.c /P

main.asm= cl /Fa 파일명.c, cl 파일명.c /FA

입력한다. 반드시 대소문자를 구분하며 띄어쓰기도 해야한다. 파일명이 main이므로 명령어 뒤에 main.c를 입력한다. 만약에 test.c라면 cl /P test.c라고 입력한다. 그러면 test.i라는 파일이 생성 될것이다.

그러면 위의 그림처럼 각각의 아이콘이 나온다.

처음에 보이지 않는 이유는 원래는 이 파일을 만든다. 그런데 컴파일 과정에서 이 두 개의 파일을 지우는데 대신에 temp라는 파일에 저장이 된다. 그러니깐 위의 경로상에서 보이지 않을 뿐이다. 위의 명령어로 파일을 생성한 것은 2개의 파일을 temp라는 파일에서 명령어로 강제로 복사하여 가져온 것이다.

 

 

자, 그럼 다음으로 이 두개의 파일을 열어 보겠다. 일단 main.i를 C프로그램으로 열어보겠다.

 

이렇게 뜬다. 스클롤을 내려서 가장 아래 부분으로 가면은

우리가 프로그램한 문장이 보인다. 그런데 #include <stdio.h>가 보이지 않는다. 위그림에서 보이는 빨간네모 위에 여러 글자가 보이는데 #include 가 전처리 되어 나온것이다. 그래서 .i를 순순 C파일이라고 한다.

그러면 main.asm은 메모장으로 열어보겠다

 

이런 화면이 나타난다. 위의 C프로그램으로 열었던 것보다 촘촘하게 글자가 붙어있다.이 asm파일은 순수 파일인 main.i를 어셈블리어로 바꾼 파일이다. 이 어셈블리를 완벽하게 다룬다면 C언어가 필요없다. 그러나 어셈블리를 모르므로....... 보기만 해도 머리가...

이것을 나중에 만든다던데 ㄷㄷ;

 

암튼 이제는 아래그림과 같이 main.c를 복사하여 사본파일을 뒤에 확장자 .dat로 바꾼다.

 

이것을 C언어 프로그램을 연결하던지 C언어 프로그램을 직접열고 드래그해서 끌어오면 다음과 같은 화면이 생성된다.

16진수 코드로 되어 있는 코드를 볼 수 있다. 제일 앞에 4D 5A를 마우스로 드래그 하면 오른쪽에 MZ로 해석이 된다. 이것은 main.exe 파일 고유의 000이다.

다음음 bmp파일과 jpg파일을 C언어로 연결한 모습이다. 당연히 확장자를 각각 .dat로 바꾼 뒤 연결한다.

 

bmp파일

 

 

 

jpg파일

 

이론 수업!!

ALU

CU

Register

Register에서 Alu로 명령을 하는데 이것을 프로그램이라고 부른다.

cpu안에 이 3대 구성요소가 존재하며, 이것을 통합하여 core라고 부른다

 

컴파일은 간단히 말해서 기계어 -> 컴퓨터 언어로 바꾸는 과정을 통틀어 컴

파일이라고 한다.

컴파일 과정을 살펴보자.

실행.exe <- 0101011101<- mov ax.bx <- ax=bx<- 프로그램.c

0101011101은 어셈블리어를 통합하여 기계어로 바꾸어 놓은 상태. 즉, 컴퓨터 언어로 바꾸어 놓은 상태이다.

mov ax.bx는 어셈블리어이다.

실행.exe는 기계어를 링크시켜서 만들어내 실행 파일. 우리 인간이 컴퓨터 화면으로 볼 수 있게 윈도우에 맞춰서 연결하는 것을 링크이며 이 프로그램을 링커라고 한다.

 

ax=bx 전처리된 순수한 파일.i이다. ax=bx, mov ax.bx, 0101011101은 다 똑같은 말이다. 그런데 그것을 순수 C파일, 어셈블리어, 목적파일인 기계어로 바꾸어진 형태로 서로가 달리 보인다. 여기서, 알 수 있는 사실은 우리가 0101011101처럼 기계어를 알면 C언어를 배울 필요가 없다. 그러나 0101011101을 다알기는 전문가가 아니면, 거의 불가능하므로 C언어를 통하혀 컴파일 하여 프로그램을 작성을 하는 것이다.

 

 

컴퓨터의 구조(미완성)

ppt 참고

 

컴퓨터 구성.ppt

 

posted by 송시혁