1-1. 프로그램의 실행과정

2015. 12. 16. 00:37프로그래밍/시스템

 

*실행파일 생성 흐름

전처리기 -> 컴파일러 -> 어셈블러 -> 링커

 

 

 

+전처리기

#로 시작하는 지시자의 지시에 따라 소스코드를 변경하는 작업 수행

ex) #include, #define ..etc

 

+컴파일러

소스코드를 어셈블리 코드로 번역하는 작업수행

 

어셈블리 코드?

CPU 에게 작업을 시키기 위한 명령어

ex)

     

 

+어셈블러

어셈블리 코드를 Binary Code 로 변경하는 작업 수행

 

Binary Code ?

1 과 0 으로만 구성된 코드

-> CPU는 1과0만 인식

 

+링커

프로그램 내에서 참조하는 함수, 라이브러리들을 연결시켜주는 작업을 수행

 

tip. 컴파일 중에 LNKXXX 에러가 뜨며, 함수를 찾을 수 없다는 에러를 본 적이 있을 것이다

 

 

*프로그램 실행 과정

Fecth -> Decode -> Execution

 

+Fetch

실행 할 명령어를 레지스터로 옮김

-> I/O Bus 로 Register 에 저장

+Decode

실행 할 명령어를 해석

-> Control Unit

+Execution

명렁어 실행

-> ALU

 

 

'프로그래밍 > 시스템' 카테고리의 다른 글

1-5. 프로세스  (0) 2015.12.28
1-3. 운영체제 32bit vs 64bit  (0) 2015.12.20
1-4. 메모리 접근 방식  (0) 2015.12.20
1-2. 문자셋 ( CharacterSet )  (0) 2015.12.20
1. 컴퓨터 하드웨어의 구성  (0) 2015.12.15