본문 바로가기
공부

[TIL] [C++, 게임 프로그래밍] 241225 5-1.c++의 컴파일 과정

by 때려쳐아니때려치지마 2024. 12. 25.
반응형

컴파일이란

: 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하여 실행 가능한 파일을 만드는 과정


1. 전처리

: 소스코드를 문자별로 해석하여 전처리기를 실행함

(내용 복사, 코드 치환, 컴파일러 명령문 해석등을 진행)

 

2. 컴파일

: 전처리기 토큰 바탕으로 컴파일 토큰을 생성하여 분석함

-> 소스파일 별로 컴파일 토큰을 해석하여 해석유닛을 생성

-> 해석유닛별로 어셈블리 코드를 생성

(소스코드 문법검사, 선언과 정의를 확인, 어셈블리 언어로 번역)

 

3. 어셈블

: 어셈블리 코드를 목적코드로 변환함

(어셈블리코드를 바이너리 형태로 변환)

 

4. 링크

: 목적 파일들과 외부 라이브러리를 모아 실행 파일을 생성함

(목적 파일간의 외부 참조를 해결하고 필요 라이브러리를 연결, 메모리 레이아웃(힙 스택 bss 데이터 코드)을 설정)


컴파일에서의 토큰

: 해석후 나누어지는 최소단위

  • 전처리기 토큰 ( Preprocessing token )
    : 소스코드를 텍스트 단위로 나누는 최소 단위
  • 컴파일 토큰 (Compile token)
    : 전처리 된 소스코드를 나누는 최소 단위

 

반응형

댓글