[C++ 스터디] 소스 코드를 프로그램으로 만드는 과정

2022. 6. 30. 20:0003. Resources/C, C++

728x90
반응형

C++의 소스코드는 크게 두 가지의 파일 종류로 이루어진다.

 

파일의 종류

1. 헤더 파일 (.h 파일; 선언부)

- 주로 나중에 소스 파일에서 구현할 함수를 선언하는 용도

- 함수의 호출 방식, 매개변수의 개수와 타입, 리턴 타입 등의 정보만 컴파일러에 전달

2. 소스 파일 (.cpp 파일; 구현부, 정의부)

- 선언한 함수가 실제로 수행할 동작 구현

 

C++로 작성된 소스 코드를 프로그램으로 만드는 빌드 작업은 세 단계로 이루어져있다.

1. 전처리 (preprocess)

- 전처리기(preprocessor)가 소스 코드에 담긴 메타 정보 처리

2. 컴파일 (compile)

- 컴파일러(compiler)가 소스 코드를 머신이 읽을 수 있는 오브젝트 파일로 변환

3. 링크 (link)

- 링커(linker)가 앞에서 변환한 여러 오브젝트 파일을 애플리케이션으로 묶음

 

 

지시자(디렉티브)

- 전처리기에 전달할 사항을 표현.

- #문자로 시작

 

자주 사용하는 전처리 지시자

- #include [파일]

    - 지정한 '파일'의 내용을 지시자 위치에 넣음

- #define [키] [값]

    - 코드에서 '키'에 해당하는 부분을 모두 '값'으로 지정한 내용으로 바꿈 

- #ifdef [키] / #endif ; #ifndef [키] / #endif

    - 여기서 지정한 '키'가 #define 문으로 정의됐는지 여부에 따라 ifdef나 ifndef로 묶인 코드 블록을 포함시키거나 제외시킴

    - #ifdef : ~가 정의돼있다면 ; #ifndef : ~가 정의돼있지 않다면

    - 중복 인클루드를 막는 용도로 주로 사용

#ifndef MYHEADER_H
#define MYHEADER_H
// ... 헤더 파일에 담을 내용
#endif

- #pragma [xyz]

    - xyz에 대한 구체적인 동작은 컴파일러마다 다름

#pragma once // 헤더의 중복선언을 방지해주는 전처리 지시자
// ... 헤더 파일에 담을 내용
반응형