2022. 6. 30. 20:00ㆍ03. Resources/C, C++
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 // 헤더의 중복선언을 방지해주는 전처리 지시자
// ... 헤더 파일에 담을 내용
'03. Resources > C, C++' 카테고리의 다른 글
[C++ 스터디] 리터럴, 변수, 그리고 연산자 (0) | 2022.07.03 |
---|---|
[C++ 스터디] 네임스페이스란 (0) | 2022.07.01 |
[C++ 스터디] 전문가를 위한 C++ 공부 시작 (0) | 2022.06.29 |
[맥북/C++] 맥북 MacOS VSCode C++ 컴파일 환경 세팅 (0) | 2022.05.23 |
C++ 공부 시작! (0) | 2022.05.15 |