드디어 Visual Studio 2012(이하 VS2012)의 RC판이 나왔습니다(사실 꽤 되었죠^^;).
이번 VS의 Visual C++(이하 VC++)의 버전은 11이 됩니다.
한동안 Visual C++은 변화가 거의 없다가 VC++ 9(VS 2008)에서 변화의 조짐을 보이다가 VS 2010에서 새로운 C++ 표준인 C++11(그 당시에는 C++0x라고 부름)과 병렬 프로그래밍, 툴의 기능 강화를 통해서 이전에 비해서 큰 변화를 이루었습니다.
또 이번 VS 2012에서도 VS 2010 버전 이상으로 큰 변화가 생겼습니다. 변화는 대격변이라고 부를 수 있을 정도입니다!.
이번에는 다음과 같은 변화가 있습니다.
1. Windows 8 Metro 앱 개발
아주 큰 변화 중의 하나입니다. 정식 제품이 가을쯤에 나올 Windows 8 Metro와 Windows Phone 8용 앱을 C++을 사용하여 개발할 수 있습니다. 이것을 위해 WinRT라는 새로운 플랫폼 API와 C++/CX가 새로 생겼습니다.
2. 툴 기능
다양한 C++ 토큰들에 다양한 색을 지정.
찾을 요소를 눈에 잘 뛰게 해준다.
편의 기능이 코딩 시 멤버 선택.
인텔리센스에서 C++/CLI 지원.
코드스니펫을 이용한 고속 코딩.
3. C++11 지원
이번에는 코어 언어 기능 보다는 라이브러리 기능이 더 중심이 되었습니다. 그러나 코어 언어에서 VC++ 10에서 큰 사랑을 받은 auto에 버금가는 range-based for loop가 있습니다. 그리고 라이브러리에 Thread가 추가 되었습니다. 이번에는 공부할 것이 많습니다 ^^;
4. 컴파일러 개선
CPU 개수에 맞추어 컴파일 속도가 향상.
Auto-Vectorizer에 의한 프로그램 성능 향상.
5. 병렬 프로그래밍
기존의 병렬 라이브러리 개선.
새로운 디버깅 및 시각화 기능에 의해 쉽고 올바른 병렬 프로그래밍 진단.
GPU 병렬 프로그래밍을 위한 C++ AMP 추가.
6. 네이티브 유닛테스트 프레임웍 추가
사제가 아닌 마이크로소프트 순정의 유닛테스트 프레임웍!!!.
이렇게 VC++ 11의 새로운 기능을 정리해 보았습니다. 제가 대충 큰 것만 정리했는데도 공부할 것이 많지 않습니까?^^; 한번에 다 하면 부담되지만 조금씩 하면 충분히 공부할만한 분량입니다. 아직 정식 버전이 나오지 않았으니(가을쯤에 나온다고 합니다) 여유를 가지고 지금부터 조금씩 천천히 공부해 보죠^^
ps 1: VC++의 각 버전 별 내부 버전 번호와 코드에 정의된 버전
브랜드 버전 내부 버전 #define _MSC_VER 버전
Visual C++ 2005 VC8 1400
Visual C++ 2008 VC9 1500
Visual C++ 2010 VC10 1600
Visual C++ 2012 VC11 1700
ps 2: 실행 환경
위에는 VC++11의 좋은 점만 이야기 했지만 개인적으로 걱정되는 것이 있습니다. 가장 큰 문제가 실행 환경입니다. VC++11은 Windows Vista 이상에서만 실행되고 또 VC++11을 이용해서 만든 프로그램도 Windows Vista 이상에서만 실행할 수 있습니다.
Windows 8 Metro 앱 개발을 하거나 저처럼 서버 개발을 하는 개발자에게는 큰 문제가 되지 않을 수도 있지만 클라이언트 개발자에게는 이 부분이 VC++11을 사용하는데 큰 걸림돌이 되리라 생각합니다
=> 그런데 VC++ 팀블로그를 보니 많은 고객들이 XP 지원을 요청해서 가을쯤에 업데이트를 통해서 XP도 지원해 준다고 합니다.^^
http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx
이로써 큰 고민을 하나 해결 되었네요^^
'Visual C++ 10' 카테고리의 다른 글
[ VC11 ] 메모리를 절약하는 VC++11의 STL 컨테이너 (0) | 2012.07.09 |
---|---|
Visual C++ 10에서 디버깅하기 (6) | 2012.04.25 |
Visual C++ 11 베타 출시!!! (0) | 2012.03.03 |
C++ AMP (2) | 2011.06.28 |
ALM for C++ in Microsoft Visual Studio 2010 세션 정리 (VS에서 VC++의 차별은 사라진다!) (2) | 2011.05.23 |