기술(Tech, IT)/C++

[C++] Windows Application Subsystem

Daniel803 2024. 3. 24. 00:59

Windows 애플리케이션은 Console, Windows 두 개의 하위 시스템으로 컴파일이 가능하고, 이 설정은 런타임에 운영체제가 애플리케이션을 어떻게 처리할지를 결정한다.

 

  • Console Application (CONSOLE subsystem)
    : 이 유형의 애플리케이션은 console/terminal 과 상호 작용하도록 설계됐다. 실행 시 Windows는 애플리케이션에 콘솔 창은 열결해 std::cout, std::cin 및 기타 표준 C++ I/O 작업을 콘솔 창에서 볼 수 있다. 기존 Command Line Interface (CLI) 에서 콘솔 애플리케이션을 실행하는 경우 기존 콘솔을 출력에 사용한다.

  • Windows Applicaiton (WINDOWS subsystem)
    : 일반적으로 사용자 상호작용을 위해 콘솔 창이 필요하지 않은 GUI 애플리케이션에 사용된다. GUI 애플리케이션을 생성하고 WINDOWS subsystem으로 설정하면 운영 체제는 기본적으로 콘솔 창을 첨부하지 않는다. 따라서 std::cout은 출력을 표시할 곳이 없어, 사용해도 아무 것도 나타나지 않는다.