본문 바로가기

프로그래밍/미분류

윈도우 환경에서 플랫폼 SDK 사용하기

반응형

c프로그래밍을 처음 시작하는 사람들에게 넘기 어려운 커다란 산이 내 컴퓨터에 어떻게 개발환경을 만드느냐는 것이다. 주변에 친구가 있거나 학교에서 배우는 사람들이라면 별 어려움 없이 물어봐서, 또는 컴파일러나 IDE를 받아서 깔아서 개발환경을 갖추겠지만, c를 혼자서 한번 배워봐야지 하는 마음으로 책을 한권 사서 보려는 사람에게 책에 나온 재밌어 보이는 것들을 실습해 보는데에 무엇이 필요한지를 알아내는 건 커다란 고민이다.


많이 추천하는 방식은 어디에선가 받은 비주얼 스튜디오 6.0을 깔아서 해 보는 방식일 것이다. 그러나 이건 엄밀하게 합법적인 방법이 아니다. 그 다음 방식은 비주얼 스튜디오 익스프레스 버전을 무료로 다운받아 깔아 환경을 갖추는 것이다. 아주 좋은 실습환경이 갖춰지지만, mfc 등 많은 윈도우 프로그래밍 책이 주로 설명하는 라이브러리를 사용할 수 없는 제약이 있는 것도 사실이다.


c, cpp의 기초를 배울 때에는 윈도우 프로그래밍이 필요 없이 주로 콘솔 프로그램으로 실습을 진행하기 때문에 비주얼 스튜디오 익스프레스도 좋은 대안이 된다.


그렇지만, 콘솔 프로그램 실습만을 위해서라면, 리눅스 환경의 개발환경에서도 충분히 실습이 가능하다. 오히려 리눅스에서 gcc등의 개발툴킷을 yum, apt 등으로 설치하고 gcc test.cpp 명령 등으로 컴파일 하는 환경이 훨씬 깔끔할 수도 있다. 요즘엔 버추얼 박스 등 가상컴퓨터를 하나 만들어 무료 리눅스를 설치할 수 있기 때문에 이 환경도 깔끔하다. 물론 버추얼 박스와 리눅스 배포판도 모두 상용 소프트웨어가 아니기 때문에 이 환경을 갖추려고 불법을 저지르는 것도 없다. 매우 합법적이다.


그런데 컴파일 환경 하나 갖추려고 운영체제를 하나 더 까는 건 배보다 배꼽이 더 클 수도 있다. (리눅스 운영체제와 배시 스크립트등을 같이 배운다면 충분히 가치가 있지만.) 몇년 전까지는 나도 간단한 콘솔 프로그램 컴파일 환경을 갖추기 위해서 ( gcc test.cpp 로 실행파일을 하나 만들어서 실행해 보기 위해서) 윈도우에 cygwin 이라는 리눅스를 에뮬레이트 해 주는 걸 깔아서 쓰곤 했다. 그런데 요즘에는 그렇게 하지 않는다.


비주얼 스튜디오가 깔려 있으면, 커맨드 창에서 cl 이라는 c 컴파일러를 실행할 수 있다. cl test.cpp 를 실행하면 test.exe 가 생성되고, test.exe 를 실행해보면 내가 짠 코드의 결과를 볼 수 있다. 정말 간단한 건 그렇게 짜서 실행한다.


그런데 이 cl 명령을 돈 주고 사야하는 비주얼 스튜디오가 깔려야만 쓸 수 있는 게 아니다. ms에서 무료로 다운로드하여 깔 수 있는 platform sdk 를 깔면 그 안에 cl 이 들어 있다. sdk라는 것이 소프트웨어 개발 킷의 약자이니까 플랫폼 SDK에는 헤더, 라이브러리, 디버깅(pdb) 파일들과 컴파일러, 링커가 같이 들어 있는 것이다. 이거 깔아 놓으면 아주 가끔 cpp 컴파일이 필요한 비개발 PC에서 간단하게 숙제 수준의 c 코드는 실습해 보는데 문제가 없다. (C# 컴파일러도 깔 수 있음. 즉 C#도 c 처럼 편집기로 소스 코딩해서 컬파일해서 실행해 보는 게 가능하단 말.)


플랫폼 SDK만 가능한가 하면 그건 아니고, 드라이버 개발 킷(WDK)에도 일반 응용 프로그램 컴파일 할 수 있는 컴파일러랑 링커 들어 있다. 그걸로 간단히 환경 맞추면 되는데, 실습코드 짜는데 드라이버 개발 킷 까는 건 좀 그러니까.

728x90