Win32_API - 빈 프로젝트에서 WinMain으로 실행하기(with VisualStudio)

컴퓨터/Win32-API

728x90
반응형

VisualStudio를 통한 Win32 App

VisualStudio를 통해서 Win32를 만들기 위해서는 친절하게 Windows 데스크톱 응용프로그램으로 시작하며 만들 수 도있다.

하지만 C언어 기본을 공부하는 사람들이 사용하는 '빈 프로젝트'를 통해 만들고 Win32 프로그래밍 소스코드를 작성하면 에러가 발생하기 때문이다. 

본 문에서는 간단하게 이 방법을 극복하는 방법에 대하여 적어보도록 하겠습니다.

 

C언어에서의 진입점은 main()이다.

C언어에는 main() 함수가 프로그램의 시작점입니다. Win32에서는 wWinMain, WinMain 등 main함수가 아닌 다른 함수가 시작점입니다. 따라서 순수 C언어로 작성하기로 한 환경에서는 wWinMain, WinMain 등의 함수를 시작점으로 인식할 수 없어서 정상적인 동작을 하지 않습니다.

 

Win32 프로그래밍을 하기 위한 환경설정

그렇다면 지금 이 소스코드가 Win32 프로그래밍을 위한 환경이다라고 인식해주어야만 정상적인 진입 함수를 찾아서 진행할 수 있게 됩니다. 

VisualStudio는 편리하게 이 기능을 제공하고 있어 다음과 같이 따라 하면 됩니다.

 

  • 해당 프로젝트 우클릭 속성 진입

  • 좌측 링커 탭에서 시스템 진입

  • 서브 시스템을 Windows로 선택

위처럼 하고 적용을 하면 '빈 프로젝트' 즉, 콘솔용 프로젝트를 만들었어도 다시 링커 부분의 설정을 변경해 주어 IDE에서 이 소스코드는 Win32를 위한 소스코드라 생각하고 그에 맞에 빌드를 진행하여 정상적으로 동작할 수 있습니다.

반대로 윈도용 프로젝트를 만들고 콘솔을 활용하고 싶으면 Console로 변경하면 할 수 있습니다.

 

기존 글에 예제 소스코드만 복사하여 사용하는 과정에서 에러가 없기를 바라며 작성하였습니다.

 

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :