컴파일러 : 이러한 작업을 수행하는 프로그램
빌드 : 코드를 실행파일로 만드는 전체 과정의 통칭
컴파일 : 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정
소스 코드를 기계어로 번역해 실행 파일을 만드는 전체 과정
Type | Process |
---|---|
Compile | 소스 코드 전체를 기게어로 번역 |
Interpreted | 소스 코드를 한 줄씩 번역하면서 실행 |
Hybrid | 소스 코드 전체를 바이트 코드로 번역한 뒤, 가상 머신에서 한 줄씩 실행 |
전처리기가 처리한 결과로 확장된 소스 코드를 포함한 “중간 파일” 생성
> 컴파일 과정 Details <
GIMPLE 트리 : 소스코드를 트리 형태로 표현한 자료 구조
- 어휘 분석 : C 소스코드를 의미가 있는 최소단위(Token)으로 나눔
- 구문 분석 : 토큰으로 파스 트리 ( Parse Tree )를 만들면서 문법적 오류를 검출
- 의미 분석 : 파스 트리를 이용해 문법적 오류는 없지만 의미상 오류가 있는지 검사
- 중간 표현 생성 : 언어 독립적인 특성을 제공하기 위해 트리 형태를 중간표현(GIMTLE Tree)을 생성
최적화의 중요성
→ 컴파일 시간이 오래 걸리더라도 프로그램의 수행 속도를 향상시켜 시스템 성능의 효율의 지속적 향상 노림
오브젝트 파일을 실행 파일로 변환
이동 생성자의 원리 w.우측값(rvalue) (0) | 2024.03.06 |
---|---|
[이론] 상속의 규칙과 사용에 따른 가상함수 비용 (0) | 2024.02.19 |
malloc/free 와 new/delete의 차이점 (1) | 2023.10.12 |
프로세스와 메모리 (0) | 2023.10.12 |
게임 프로그래밍에서의 C++ (1) | 2023.10.06 |