C++ 코드의 표준 컴파일 프로세스
- 전처리 단계
- C++ 코드를 컴파일하기 전에 처리하는 단계입니다.
- C++ 구문을 수정하지 않고, 해시 기호(
#
)로 시작하는 전처리 지시어들을 처리합니다.
- 전처리 지시어는 코드의 일부를 생성하거나 제거하고, 헤더 파일을 포함하는 등의 작업을 수행합니다.
- 주로
#include
, #define
, #ifdef
등의 전처리 지시어들을 사용합니다.
- 컴파일러 단계
- 전처리된 소스 코드를 컴파일러에 제공합니다.
- 컴파일러는 소스 코드를 실행 가능한 바이너리 코드로 변환합니다.
- 이때, 하나의 소스 파일(
.cpp
)을 번역 단위로 처리하며, 각각의 번역 단위는 개별적인 .o
또는 .obj
파일로 출력됩니다.
- 컴파일러는 오류를 검출하고 경고 메시지를 생성할 수 있습니다.
- 링커 단계
- 컴파일러에 의해 생성된 번역 단위(
.o
또는 .obj
파일)를 하나로 묶어서 실행 가능한 프로그램을 생성하는 단계입니다.
- 이러한 묶는 작업을 '링킹'이라고 합니다.
- 라이브러리 파일 및 다른 번역 단위들과의 연결을 담당하며, 실행 가능한 파일을 만듭니다.
- 여러 개의 소스 파일이 함께 링크되어 최종 실행 파일이 생성됩니다.
이렇게 세 가지 단계로 C++ 코드가 컴파일되며, 전처리, 컴파일러, 링커가 각각의 역할을 수행하여 실행 가능한 프로그램이 만들어집니다. 이러한 프로세스를 통해 C++ 코드를 컴파일하고 실행할 수 있습니다.