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

+ Recent posts