출처 : http://msdn.microsoft.com/ko-kr/library/bb384632.aspx

 

Visual C++ 2008 새로운 기능

업데이트: 2007 11

항목에서는 Visual Studio 2008 릴리스의 기능과 변경 사항에 대해 설명합니다.

 Visual C++ IDE(통합 개발 환경)

단원

정의

이제 ATL, MFC Win32 응용 프로그램에서 만들어지는 대화 상자가 Windows Vista 스타일 지침을 따릅니다.

Visual Studio 2008 사용하여 프로젝트를 만들면 응용 프로그램에 삽입한 모든 대화 상자가 Windows Vista 스타일 지침을 따르게 됩니다. 이전 버전의 Visual Studio에서 만든 프로젝트를 다시 컴파일하면 모든 기존 대화 상자가 이전 버전의 모양을 그대로 유지합니다. 응용 프로그램에 대화 상자를 삽입하는 방법에 대한 자세한 내용은 대화 상자 편집기 참조하십시오.

이제 ATL 프로젝트 마법사에 모든 사용자를 대상으로 구성 요소를 등록하는 옵션이 제공됩니다.

Visual Studio 2008부터는 모든 사용자의 구성 요소 등록 선택하지 않으면 ATL 프로젝트 마법사로 만드는 COM 구성 요소와 형식 라이브러리가 레지스트리의 HKEY_CURRENT_USER 노드에 등록됩니다. 자세한 내용은 ATL 프로젝트 마법사, 응용 프로그램 설정 참조하십시오.

ATL 프로젝트 마법사에서는 이상 특성을 사용하는 ATL 프로젝트를 만드는 옵션을 제공하지 않습니다.

Visual Studio 2008부터는 ATL 프로젝트 마법사에 프로젝트의 특성 사용 상태를 변경할 있는 옵션이 없습니다. 마법사에서 만들어지는 모든 ATL 프로젝트는 특성을 사용하지 않습니다.

레지스트리에 대한 쓰기를 리디렉션할 있습니다.

Windows Vista 도입으로 레지스트리의 특정 영역에 쓰려면 프로그램을 관리자 모드로 실행해야 합니다. 하지만 Visual Studio 항상 관리자 모드로 실행하는 것은 바람직하지 않습니다. 사용자별 리디렉션을 사용하면 프로그램을 변경할 필요 없이 레지스트리 쓰기가 자동으로 HKEY_CLASSES_ROOT에서 HKEY_CURRENT_USER 리디렉션됩니다. 자세한 내용은 링커 속성 페이지 참조하십시오.

이제 클래스 디자이너가 네이티브 C++ 코드를 제한적으로 지원합니다.

이전 버전의 Visual Studio에서는 클래스 디자이너를 Visual C# Visual Basic에서만 사용할 있었습니다. 이제 C++ 사용자도 읽기 전용 모드로 클래스 디자이너를 사용할 있습니다. C++에서 클래스 디자이너를 사용하는 방법에 대한 자세한 내용은 클래스 디자이너에서 Visual C++ 코드 사용 참조하십시오.

 Visual C++ 라이브러리

일반

단원

정의

응용 프로그램을 특정 버전의 Visual C++ 라이브러리에 바인딩할 있습니다.

Visual C++ 라이브러리가 릴리스된 업데이트된 내용에 따라 응용 프로그램의 동작이 좌우되는 경우가 있습니다. 이러한 경우 이전 버전의 라이브러리가 있는 컴퓨터에서 응용 프로그램을 실행하면 예기치 않은 동작이 발생할 있습니다. 이제 응용 프로그램을 특정 버전의 라이브러리에 바인딩하여 이전 버전의 라이브러리가 있는 컴퓨터에서는 응용 프로그램이 실행되지 않게 있습니다. 자세한 내용은 응용 프로그램 재배포 특정 라이브러리에 바인딩 참조하십시오.

STL/CLR 라이브러리

단원

정의

이제 Visual C++ STL/CLR 라이브러리가 포함됩니다.

STL/CLR 라이브러리 표준 C++ 라이브러리의 하위 집합인 STL(표준 템플릿 라이브러리) 패키징이며, C++ .NET Framework CLR(공용 언어 런타임) 함께 사용할 있습니다. 이제 STL/CLR 통해 STL 모든 컨테이너, 반복기 알고리즘을 관리되는 환경에서 사용할 있습니다.

MFC 라이브러리

단원

정의

Windows Vista 공용 컨트롤을 지원합니다.

Windows Vista 기능을 지원하거나 최신 MFC 클래스의 기능을 향상시키기 위해 클래스나 기존 클래스 18개에서 150 이상의 메서드가 추가되었습니다.

CNetAddressCtrl 클래스를 사용하면 IPv4 IPv6 주소나 DNS 이름을 입력하고 유효성을 검사할 있습니다. CPagerCtrl 클래스를 사용하면 Windows 페이저 컨트롤을 쉽게 사용할 있습니다. 또한 CSplitButton 클래스를 사용하면 기본 작업이나 옵션 작업을 선택하는 Windows 분할 단추 컨트롤을 쉽게 사용할 있습니다.

C++ 지원 라이브러리

단원

정의

C++ 마샬링 라이브러리가 도입되었습니다.

마샬링 라이브러리를 사용하면 네이티브 환경과 관리되는 환경 사이에 쉽고 최적화된 방법으로 데이터를 마샬링할 있습니다. 라이브러리는 PInvoke 사용 같이 복잡하고 효율이 떨어지는 방법을 대신하여 사용할 있습니다. 자세한 내용은 Overview of Marshaling in C++ 참조하십시오.

ATL 서버

단원

정의

ATL 서버가 공유 소스 프로젝트로 릴리스됩니다.

대부분의 ATL 서버 코드베이스는 CodePlex 공유 소스 프로젝트로 릴리스되어 있으며 Visual Studio 2008 일부로 설치되지 않습니다. ATL 서버와 관련된 가지 파일은 이상 Visual Studio 포함되지 않습니다. 제거된 파일의 목록은 Removed ATL Server Files 참조하십시오.

atlenc.h 유틸리티 함수의 데이터 인코딩 디코딩 클래스와 atlutil.h atlpath.h 클래스는 이제 ATL 라이브러리에 속합니다.

Microsoft 이전 버전의 Visual Studio 지원되는 계속해서 이러한 Visual Studio 릴리스에 포함된 ATL 서버 버전을 지원할 것입니다. CodePlex에서는 앞으로도 계속해서 ATL 서버 코드를 커뮤니티 프로젝트로 개발할 것입니다. Microsoft ATL 서버의 CodePlex 버전을 지원하지 않습니다.

 Visual C++ 컴파일러 링커

컴파일러 변경 사항

단원

정의

컴파일러가 관리되는 증분 빌드를 지원합니다.

옵션을 지정하면 참조된 어셈블리가 변경된 경우 컴파일러가 코드를 다시 컴파일하는 것이 아니라 증분 빌드를 수행합니다. , 변경 내용이 종속 코드에 영향을 주는 경우에만 파일이 다시 컴파일됩니다. 자세한 내용은 일반 속성 페이지(프로젝트) 참조하십시오.

ATL 서버와 관련된 특성이 이상 지원되지 않습니다.

컴파일러는 ATL 서버와 직접 관련된 여러 특성을 이상 지원하지 않습니다. 제거된 특성의 전체 목록을 보려면 주요 변경 사항 참조하십시오.

컴파일러가 Intel Core 마이크로아키텍처를 지원합니다.

컴파일러에는 코드를 생성하는 동안 Intel Core 마이크로아키텍처에 맞게 성능을 조정하는 기능이 포함되어 있습니다. 조정 기능은 기본적으로 사용되며 Pentium 4 기타 프로세서의 성능 향상에도 도움이 되므로 해제할 없습니다.

내장 함수가 AMD Intel 프로세서를 지원합니다.

가지 새로운 내장 명령이 최신 AMD Intel 프로세서의 향상된 기능을 지원합니다. 내장 함수에 대한 자세한 내용은 Supplemental Streaming SIMD Extensions 3 Instructions, Streaming SIMD Extensions 4 Instructions, SSE4a and Advanced Bit Manipulation Intrinsics, AES Intrinsics, _mm_clmulepi64_si128 __rdtscp 참조하십시오.

__cpuid 함수가 업데이트되었습니다.

이제 __cpuid 함수가 최신 버전의 AMD Intel 프로세서에 포함된 가지 새로운 기능을 지원합니다. 새로 추가된 __cpuidex 내장 함수에서는 최신 프로세서에 대한 자세한 정보를 수집합니다.

/MP 컴파일러 옵션을 사용하면 전체 빌드 시간이 줄어듭니다.

/MP 옵션을 사용하면 파일을 동시에 컴파일하는 가지 프로세스를 만들어 여러 소스 파일을 컴파일하는 전체 시간을 상당히 줄일 있습니다. 옵션은 하이퍼스레딩, 다중 프로세서 또는 다중 코어를 지원하는 컴퓨터에서 특히 유용합니다.

/Wp64 컴파일러 옵션과 __w64 키워드는 사용되지 않습니다.

64비트 이식성 문제를 검색하는 /Wp64 컴파일러 옵션과 __w64 키워드는 사용되지 않으며 컴파일러의 이후 버전에서 제거됩니다. 컴파일러 옵션과 키워드를 대신에 64비트 플랫폼을 대상으로 하는 Visual C++ 컴파일러를 사용합니다. 자세한 내용은 Visual C++ 사용한 64비트 프로그래밍 참조하십시오.

/Qfast_transcendentals

초월수 함수에 대한 인라인 코드를 생성합니다. 자세한 내용은 /Qfast_transcendentals(빠른 초월수 강제 적용) 참조하십시오.

/Qimprecise_fwaits

/fp:except 컴파일러 옵션을 사용할 try 블록 내의 fwait 명령을 제거합니다. 자세한 내용은 /Qimprecise_fwaits(Try 블록 내의 fwait 제거) 참조하십시오.

링커 변경 사항

단원

정의

이제 사용자 계정 컨트롤 정보가 Visual C++ 링커(link.exe)에서 사용하는 실행 파일의 매니페스트 파일에 포함됩니다.

기능은 기본적으로 사용됩니다. 자세한 내용은 UAC(사용자 계정 컨트롤) 응용 프로그램에 주는 영향 참조하십시오. 기능을 사용하지 않도록 설정하거나 기본 동작을 수정하는 방법에 대한 자세한 내용은 /MANIFESTUAC(매니페스트에 UAC 정보 포함) 참조하십시오.

이제 링커가 Windows Vista ASLR(Address Space Layout Randomization) 기능을 사용하는 /DYNAMICBASE 옵션을 지원합니다.

옵션은 실행 파일의 헤더를 수정하여 로드 응용 프로그램의 주소가 임의로 지정되어야 하는지를 나타냅니다. 자세한 내용은 /DYNAMICBASE(주소 공간 레이아웃을 임의로 지정) 참조하십시오.

 Visual C++ 샘플

Visual Studio 2008 새로운 샘플

단원

정의

CFileDialog 샘플: 이벤트 순서 기록

CFileDialog 만들 생성되는 이벤트를 보여 주는 사용자 지정 대화 상자를 만듭니다.

CMNCTRL3 샘플: Visual Studio 2008에서 사용할 있는 MFC 컨트롤 데모

명령 링크 단추(CButton), 페이저 컨트롤(CPagerCtrl), 분할 단추(CSplitButton) 네트워크 주소 컨트롤(CNetAddressCtrl) 비롯하여 Windows Vista MFC에서 사용할 있는 가지 새로운 컨트롤에 대해 설명합니다.

NETADDR 샘플: Vista 네트워크 주소 검증 도구 컨트롤 샘플

Windows Vista "네트워크 주소 검증 도구" 컨트롤을 사용하는 방법을 보여 줍니다.

StlClrLibrary 샘플: STL/CLR 기능 데모

STL/CLR Library 사용할 사용할 있는 가지 기능을 설명합니다.

 Visual C++ Express Edition

Visual C++ Express Edition 추가 사항

단원

정의

이제 Visual C++ Express Edition Windows SDK 포함됩니다.

이제 Visual C++ Express Edition 사용자는 Windows SDK 따로 다운로드하여 설치하지 않고도 사용할 있습니다. Visual C++ Express Edition에는 Win32 프로젝트 마법사도 포함됩니다.

 관련 단원

단원

정의

주요 변경 사항

Visual C++ 2008 주요 변경 사항을 보여 줍니다.

프로그램 이식 업그레이드

Visual C++ 이전 릴리스에서 업그레이드된 사항과 다른 플랫폼에서 이식하는 방법에 대해 설명하는 항목의 링크를 제공합니다.

방법: 이전 버전의 Visual C++에서 프로젝트 업그레이드

이전 버전에서 Visual C++ 프로젝트를 업그레이드하는 관련된 항목의 링크를 제공합니다.

안정적인 DNS서비스 DNSEver DNS server, DNS service
Posted by 키르히아이스
,