728x90
1. 모듈 정의
- 모듈은 해당 파일을 가져오는 변환 단위와 별개로 컴파일되는 소스 코드 집합이다.
2. 모듈의 장점
- 모듈은 단 한번만 도입되며, 비용이 사실상 0이다. ( 전처리 단계 반복된 치환 문제 해결 )
- 모듈을 도입하는 순서에 따른 차이가 없다. ( 전처리기 매크로 순서 문제 해결 )
- 기호 중복 정의 문제가 거의 발생하지 않는다. ( ODR 단일 정의 규칙 문제 해결 )
- 코드의 논리적 구조를 표현하는데 유리하다. ( 모듈 노출 정의 가능, 논리적 패키징 가능 )
- 소스 코드를 인터페이스 부분과 구현 부분으로 분리할 필요가 없다.
3. 사용방법
- 모듈 사용 방식
- 모듈 사용 예시
- MSVC 기준 .ixx ( interface C++ 소스 파일 ) 확장자 파일을 사용한다.
- 모듈 컴파일에 필요한 헤더 파일이나, 매크로 정의가 필요한 경우 전역 모듈 조각 영역에 넣는다.
[참고 자료]
https://docs.microsoft.com/ko-kr/cpp/cpp/modules-cpp?view=msvc-170
반응형
'C++ > C++ 20' 카테고리의 다른 글
[C++20] 지명 초기화 (0) | 2022.02.22 |
---|---|
[C++ 20] 삼항 연산자 <=> (0) | 2022.02.20 |
[C++ 20] 프로그램 빌드 과정 및 문제점 (0) | 2022.02.19 |
[C++ 20] 콘셉트 목록 정리 (0) | 2022.02.19 |
[C++ 20] three_way_comparable concept (0) | 2022.02.19 |