Search

Visual Studio | C++ 표준 라이브러리(STL) 모듈 import 방법

Date
2024/08/03
category
Visual Studio
Tags
visual-studio
c++

1. C++ 20

Visual Studio의 C++20 환경에서 표준 라이브러리 모듈을 import하는 방법으로 MS에선 헤더 유닛(header units)을 권장

1.1. 프로젝트 생성

프로젝트 이름: Cpp20

1.2. 예제 코드 생성

main.cpp
import <iostream>; int main() { std::cout << "Hello World!" << std::endl; return 0; }
C++
복사
HeaderUnits.h
#pragma once import <iostream>;
C++
복사

1.3. 언어 표준 설정

프로젝트 속성 > 일반 > C++ 언어 표준: ISO C++20 표준 (/std:c++20)

1.4. 헤더 단위 컴파일 설정

HeaderUnits.h 속성 > 일반 > 항목 형식: C/C++ 컴파일러
설정 후 적용 클릭
C/C++ > 고급 > 컴파일 옵션: C++ 헤더 단위로 컴파일(/exportHeader )

1.5. 설정 확인

f5를 눌렀을 때 Hello World! 출력 → iostream import 성공
다른 표준 라이브러리 모듈이 필요하면 해당 모듈을 HeaderUnits.h에 추가

2. C++ 23

C++ 23에선 표준 라이브러리를 import할 수 있는 named 모듈(std, std.compat) 제공

2.1. 프로젝트 생성

프로젝트 이름: Cpp23

2.2. 예제 코드 생성

main.cpp
import std; int main() { std::cout << "Hello World!" << std::endl; return 0; }
C++
복사

2.3. 언어 표준 설정

프로젝트 속성 > 일반 > C++ 언어 표준: 미리 보기 - 최신 C++ 초안의 기능(/std:c++latest)

2.4. 표준 라이브러리 모듈 빌드 설정

C/C++ > 언어 > ISO C++ 23 표준 라이브러리 모듈 빌드: 예

2.5. 설정 확인

f5를 눌렀을 때 Hello World! 출력 → std import 성공
STL 라이브러리의 std namespace 내에 있는 모든 함수 사용 가능
import std.compat → std namespace 내의 함수 뿐만 아니라 C 표준 라이브러리의 전역 namespace 함수도 사용 가능

3. 참고 자료

named 모듈 import가 헤더 유닛보다 빠르다
named 모듈은 내부 구현과 매크로를 외부로 노출하지 않는다
C++ 23 사용할 수 있다면 named 모듈 사용 권장
전문가를 위한 C++ 5판