1619, 9/81 회원가입  로그인  
   괴도js
   3번째c강좌입니다~ㅋ

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=215 [복사]


저기 밑에 제가올린2번째c강좌보이시죠? 그거에 이어서 입니다~
셤땜에 마니마니 늦어졋네요~ㅋ1.2c강좌 잘보시구~3번째두 무난히^^?잘이해하세요~

3. C언어는 어떻게..

이제 C언어 프로그램이 어떻게 실행되어 지는가를 알아봅시다.

C언어로 프로그램을 만들면 실행파일(.EXE)을 만들 수가 있습니다.

실행파일이 만들어질때는 다음과 같은 과정을 거칩니다.

    (1)소스 코드 -------------> (2)소스 파일 ---------->

                 텍스트 에디터               선행처리기

    (3)선행처리기 지시어가 번역된 소스 파일 --------->

                                            컴파일러
                 라이브러리

    (4)목적 파일 -----------> (5)실행파일

                    링커

(1) 소스 코드 (Source)

프로그램의 내용 자체를 소스 코드라고 합니다.

(2) 소스 파일 (Source file)

소스 코드를 텍스트 파일에 기술하여 만들어진 파일을 소스 파일이라고 합니다.

C언어의 소스 파일은 확장자가 .C입니다. C언어 프로그램 만드는 가장 첫번째 과정이라고 할 수 있죠.

(3) 선행처리기 지시어가 번역된 소스 파일

C언어 프로그램 내에는 여러가지 지시어 들이 있는데

이건 C언어 문법과는 별개이고 번역도 컴파일러가 하지

않습니다. 이걸 번역하는 프로그램을 선행처리기라고 합니다.

(4) 목적 파일 (Object fiㅣㄷ)

지시어가 번역된 소스 파일은 다음으로 컴파일러라는 프로그램에

의해 기계어로 번역됩니다. 이 번역된 파일을 목적 파일이라고 하고, 확장자는 .OBJ가 됩니다.

그러데 여기서 이상한 점이 있죠?

기계어로 번역하면 실행할수 있을 건데 왜???????? 실행파일을 만들지 않고 목적파일이라는 만들까요? 하지만 기계어로 번역되었다고 해서 실행할수는 없습니다.

실행파일이 되기 위해선 런타임 라이브러리라는 것이 목적 파일과 합쳐져야 하기 때문이죠. 이 런타임 라이브러리가 무엇인지는 나중에 설명하기로 하고 그냥 런타임 라이브러리라는 것이 합쳐져야 한다는 것만 알아두세요.

(5) 실행 파일 (Executable file)

목적파일은 위에서 말한 런타임 라이브러리와 합쳐져서 실행파일이 되는데,이때 합쳐주는 프로그램을 링커라고 합니다. 링커에 의해 목적 파일은 실행파일이 되죠.

그럼 실행할수가 있게 됩니다.


  Hit : 15354     Date : 2004/07/14 09:52



    
배우는자 감사(__+ 2004/12/19
circleg7 감사합니다 앞으로 쭉 볼께여^^ 2004/12/29  
감 사 2005/01/10
EnserCh 하,,복잡 하네요 ,감사합니다 ^^ 2005/02/04  
zinclo 감사합니다~ㅋ 2005/10/06  
무소유 이건 어디서 만이 봐오던건데에~ 2005/12/16  
marilin29 헉! c언어? 어려버용~ㅠ,ㅠ 2006/12/12  
wlgns5458 오타가 좀 있네요 ㅎ 2007/11/01  
1459   C언어에서 사용되는 특수문자/서식문자[5]     xodnr631
08/18 15395
1458   개인정보 이용내역 통지제도란     HongMK900
08/13 15370
1457   구글 해킹?[7]     nsh009
11/06 15366
  3번째c강좌입니다~ㅋ[8]     괴도js
07/14 15353
1455   [펌] 윈도우 XP 속도 향상 팁     dzhfldk
08/04 15326
1454   펄1[1]     asdzxc301
12/18 15272
1453   배열 내에서 랜덤한 n개 추출하기[2]     kjwon15
12/05 15268
1452   네트워크 개념 휘어잡기 5[10]     소유
09/14 15260
1451   c언어 for문      hacs98
06/15 15218
1450   [펌]TCP SYN_Flooding 공격의 원인과 해결책[1]     Chris Ruiel
10/06 15155
1449   [펌]해커들의 흔적지우는방법[28]     starztp
10/08 15141
1448   [펌] 알고있으면 유용한 도스 명령어들.[2]     dzhfldk
08/22 15128
1447   [Reverse Engineering] 리버싱의 기초 - 범용 레지스터와 Assembly(Pop,Mov)     zen0c1de
07/18 15126
1446   해쿨 level2 강의[10]     결빙
07/07 15081
1445   C언어 함수 요약[5]     qkreoghks00
11/15 15043
1444   GetProcAddress 로 알아보는 키워드     HongMK900
08/13 15020
1443   리눅스 명령어 한꺼번에(소유님꺼)[11]     ssakura
07/07 14959
1442   C언어(진법)[9]     whqkdnf000
02/25 14958
1441   초보가 적어본 윈도우 침투[6]     awsedr45
12/06 14951
1440   [자작] W's 암호학(Cryptology) - 스파르탄 암호,시저(알파벳치환)암호[11]     williamlee
07/28 14947
[1][2][3][4][5][6][7][8] 9 [10]..[81]

Copyright 1999-2026 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org