C++ 프로그램을 실행하기 위해서는 소스 코드 → 실행 파일로 변환하는 과정이 필요합니다. 이를 빌드 프로세스라고 하며, 다음 4단계로 이루어집니다.
1. 전처리 (Preprocessing)
소스 코드에서 #include, #define 등의 지시문을 처리하는 단계입니다.
- 주석 제거
- 매크로 확장
- 헤더 파일 포함
- 출력 파일: 확장자가 .i인 중간 파일 (ex: main.i)
2. 컴파일 (Compilation)
전처리된 코드를 어셈블리 코드로 변환합니다.
- C++ 코드를 CPU가 이해하는 저수준 언어로 변환
- 출력 파일: 확장자가 .s인 어셈블리 코드 파일 (ex: main.s)
3. 어셈블 (Assembling)
어셈블리 코드를 기계어(바이너리)로 변환하여 오브젝트 파일 생성
- CPU가 직접 실행할 수 있는 명령어 집합으로 변환
- 출력 파일: 확장자가 .o 또는 .obj인 오브젝트 파일 (ex: main.o)
4. 링킹 (Linking)
여러 개의 오브젝트 파일과 라이브러리를 결합하여 실행 파일을 생성
- 표준 라이브러리(libc, stdc++ 등) 연결
- 다른 오브젝트 파일과 결합
- 출력 파일: 실행 가능한 바이너리 파일 (ex: main.exe, main.out)