: 전처리기(Preprocessor)로 컴파일 전에 코드를 적정한 상태로 준비하거나 처리하는 일
#include <stdio.h>
#define STD 10
-
전처리기는 필요한 헤더파일을 불러오거나, 기호 상수를 정의해서 코드 상으로 필요한 내용을 먼저 채워주는 역할을 한다.
-
전처리기는
#include
구문을 만나면 해당하는 헤더 파일을 찾아 그 내용을 순차적으로 삽입한다. -
그리고
#define
부분을 심볼 테이블에 저장하고, 심볼 테이블에 들어 있는 문자열과 같은 내용을 만나면 해당 내용으로 치환한다. (매크로 치환 작업.#ifdef
와 같은 전처리기 구문도 처리됨)
: 컴파일러(Compiler)가 고수준 언어를 저수준 언어로 나타내는 일
-
소스 프로그램을 목적(object) 프로그램으로 변환하는 작업이다.
-
즉, 우리가 c언어로 열심히 코딩한 내용을 어셈블리어로 바꿔준다.
: 어셈블러(Assembler)가 어셈블리어를 기계어로 바꿔주는 일
- 오브젝트 파일을 생성한다.
: 링커 (Linker) 가 여러 오브젝트 파일을 하나로 합치거나 라이브러리와 합치는 일
-
즉, 목적 프로그램을 라이브러리와 연결하여 실행 프로그램(.exe)을 작성한다.
-
라이브러리(library) : 프로그래머들이 많이 사용하는 기능을 미리 작성해 놓은 것(e.x 입출력, 파일 처리, 수학 함수 등등)