전체 흐름
Source Code
→ Preprocessor
→ Compiler
→ Assembler
→ Linker
→ 실행 파일(.exe, .out)
단계별 설명
| 단계 | 역할 | 결과물 |
| 전처리 (Preprocessor) | 주석 제거, #include 헤더 파일 병합, 매크로 치환 | 전처리된 소스 코드 |
| 컴파일러 (Compiler) | 문법 오류 검사, 코드 최적화, 어셈블리어 변환 | 어셈블리 코드 |
| 어셈블러 (Assembler) | 어셈블리 코드를 목적 코드(Object Code)로 변환 (.o in Linux) | 목적 코드 |
| 링커 (Linker) | 라이브러리 및 다른 목적 코드와 결합, 실행 파일 생성 | 실행 파일 (.exe, .out) |
핵심 요약
- 목적: 사람이 읽는 소스 코드 → CPU가 이해하는 기계어 변환
- 중간 단계: 전처리 → 컴파일 → 어셈블 → 링크
- 확장자 예시:
- 목적 파일: .o (Linux)
- 실행 파일: .exe (Windows), .out (Linux)
'ZeroBase > CS' 카테고리의 다른 글
| PCB와 컨텍스트 스위칭 (1) | 2025.08.13 |
|---|---|
| DFS(깊이 우선 탐색), BFS(너비 우선 탐색) (4) | 2025.08.13 |
| 메모리 계층 (0) | 2025.08.11 |
| 시스템콜과 modebit (1) | 2025.08.10 |
| 운영체제와 컴퓨터 시스텀의 구조 (2) | 2025.08.10 |