SW/C++

C++ : module : 모듈 시스템 개요, 사용 방법, 장단점

얇은생각 2020. 4. 18. 07:30
반응형

C++ : module : 모듈 시스템 개요, 사용 방법, 장단점

 

모듈 시스템

C++17 까지도 여전히 표준으로 들어오지 않았습니다. 허나 비주얼 스튜디오에서 experimental:module 플래그를 활성화해서 사용할 수 있습니다.

표준이 된다면 컴파일이 엄청나게 빨라진다고 합니다. cpp와 h 파일로 나눌 필요가 없어지며, 이것은 컴파일 속도를 높이기 위한 것이었습니다. 마치 Java의 패키지 처럼 동작합니다. 

여전히 앞에 시련이 있습니다. cpp와 h가 둘 다 있는 레거시 코드들은 앞으로 어떻게 처리를 해야할까요. 또한, #define을 활용한 코드들이 많이 있는 경우에는 어려움이 있을 수 있습니다.

 

module Math;

export int Add(int a, int b)
{
  return a+b;
}

export int Multiply(int a, int b)
{
  return a * b;
}

 

import Math;

int main()
{
  std::cout << Add(1,2) << std::endl;
  std::cout << Multiply(3,2) << std::endl;
}

 

이러한 방식으로 자바와 유사하게 활용할 수 있다고 합니다. 실제로 도입되면, 많은 변화가 예상이 되지만, 컴파일 속도를 개선하고 더욱 명확하게 프로그래밍을 할 수 있을 것으로 보아 기대가 됩니다.

반응형