Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual C++ 2008 새로운 기능과 사용법 고재관 Microsoft MVP myaustin.egloos.com.

Similar presentations


Presentation on theme: "Visual C++ 2008 새로운 기능과 사용법 고재관 Microsoft MVP myaustin.egloos.com."— Presentation transcript:

1 Visual C++ 2008 새로운 기능과 사용법 고재관 Microsoft MVP myaustin@korea.com www.PDAlab.org myaustin.egloos.com

2 목표와 전략 빌드 환경의 개선 관리형코드와 연계 Vista UI 컨트롤 Vista 공용 컨트롤 MFC 9.0 의 새로운 기능 DEMO Agenda

3 VC++ 2008

4 VC++ Visual C ++ MS C 7.0 이후의 Microsoft 개발 도구 Microsoft 최초의 C++ 개발도구 C/C++ 에 기반하여 Windows 16/32 API 사용 Windows 응용프로그램 개발 도구 단독 실행 프로그램 제작 가능한 유일한 도구

5 VC++ 2008 버전

6 목표 성공하는 다음 세대기술을 리드하는 세계적 네이티브 개발자 전략 / 수행 생산성과 적응력 향상을 위한 최신의 Visual C++ 안전하고 빠른 최신 개발 기술을 위한 네이티브 라이브러리 투자 네이티브와 관리형 코드간의 마찰 없는 융합기술 VC++ 2008 목표와 전략

7 VC++ 2008 지속적 지원 VC++ 컴파일러 기능향상 추가 기능지원 MFC 기능 지원 및 수정보완 Vista 및 Office UI 기능 확장 관리형 코드와의 원활한 연동을 위한 마샬링 지원

8 Windows Vista 개발 Vista 응용프로그램 개발을 MFC 에서 간단한 작업으로 빠른 구현 빌드 (Build) 시간 개선 병렬빌드 및 네이티브 - 관리형코드 빌드 시간 단축 관리형 코드 연결 관리형 코드 포함 또는 기존 관리형 코드 연결 개선 VC++ 2008 개발 Focus

9 VC++ 2008 개선된 기능 프로젝트 솔루션 열기 속도 향상 컴파일 속도 개선 관리형 코드 / 네이티브 코드 증분빌드 속도 향상 병렬파일 지원 UI Vista 지원 Control 추가 MFC 기능 추가 C++ STL/CLI 지원 표준 C++ 지원 강화 TR1 지원 추가

10 VC++ 2008 /MP 컴파일러 스위치 지원 cl.exe 용 멀티 프로세스 빌드 /MP 또는 /MPn (n 은 CPU 의 개수 ) Project  Properties  C/C++  Command Line  Additional options Multi-proc 프로젝트 빌드 에서 동작 Tools  Options  Project and Solutions  Build and Run  parallel project builds 최상의 결과를 얻기 위한 설정

11 VC++ 2008 UAC 노출 응용 프로그램 생성 Linker /MANIFESTUAC[:{NO|”fragment”}] Project  Properties  Linker  Manifest File Project Upgrade UAC 는 커지고 레벨은 “asInvoker” 로 설정함

12 VC++ 2008 UAC 컴플라이언스 기본적으로 HKCU 로 ATL COM 등록 HKLM 레지스트리 선택 IE7 보호 모드 디버깅 지원 디버거 런처 : Web Browser Debugger

13 VC++ 2008 Class 디자이너 지원 Class Designer MFC 로 되어 있는 현재의 코드만 비주얼 화

14 VC++ 2008 관리형코드 증분 빌드 A.Dll … ClassB b; b.f() … B.Dll public ref class ClassB { public String f() { //important string here return “Important String”; } A.dll B.dll B.meta B.meta(*) 마지막 빌드 후 중요한 변경 없이 프로젝트 스킵

15 Project  Properties  General  Enable Managed Incremental Build 기본적으로 On Property 쉬트에서 접근 가능 관리형 브릿지 지원 관리형코드를 C++ 응용프로그램에서 쉽게 사용 지원 Marshaling 라이브러리 지원 STL/CLR 라이브러리 지원

16 VC++ 2008 TR1 TR1(1st Library Extension) The Technical Report on C++ Library Extensions Boost derived classes tr1::shared_ptr tr1::function, tr1::mem_fn, tr1::bind tr1::regex tr1::tuple, tr1::array, unordered containers (hash-based) tr1::type_traits 난수 발생 제네레이터 ANSI C99 미지원 및 일부 수학함수 지원 불가

17 VC++ 2008 마샬링 라이브러리 지원 네이티브 코드로부터 데이터형태로 마샬링 지원 관리형 코드와 네이티브 코드 사이의 데이터 타입 마샬링 마샬링 컨텍스트를 미요구변환 마샬링 사용자에 의한 미지원 기능 확장 가능 #include using namespace msclr::interop; … { … const char* sourcestring1 = “teststring” System::String^ deststring1; //Convert const char* to System::String^ using // TO to = marshal_as (from) deststring1 = marshal_as (sourcestring1); … } #include using namespace msclr::interop; … { … System::String^ sourcestring1 = “teststring” const char* deststring1; //Convert System::String^ to const char* using //TO to = context.marshal_as (from) marshal_context ctx; deststring1 = ctx.marshal_as (sourcestring1); … }

18 .NET Framework 사용 응용프로그램 STL 공용사용 STL 및.NET 컬렉션 사이에 데이터 교환 템플릿 및 지네릭을 동시에 사용 최상의 성능 향상 및 크로스 - 언어 호환성 성취 디자인 관리형 코드의 어떤 한 부분에서의 STL 지원 VC++ 2008 STL/CLR 라이브러리 변경 사항 #include void myFunction() { … cliext::hash_map myMap; myMap.insert(cliext::make_pair(5, gcnew String("String1"))); cliext::hash_map ::iterator itFive= myMap.find(5); … cliext::vector v4; cliext::random_shuffle( v4.begin( ), v4.end( ) ); …}

19 VC++ 2008 Windows Vista UI 지원 신규 추가 기능 새로운 시스템 폰트 (Segoe UI) 지원 Aero 테마 API 지원 추가 Common 컨트롤 및 추가 Common 다이얼로그 지원 Glass 모든 기능 지원 Windows Vista 스타일 및 특성과 동등한 아이콘 및 그래픽 생성 다이얼로그 박스 및 에러 메시지를 Task 다이얼로그로 교체 새로운 Windows Vista UX Guidelines 규격에 맞게 정렬 향상 기능 새로운 컨트롤, 이벤트, 공지 및 스타일에 대한 MFC 지원 새로운 컨트롤에 대한 Dialog Editor 지원 Windows Vista UX 가이드라인에 맞는 다이얼로그 템플릿 지원 Windows Vista UX 컨트롤 사용법에 대한 문서 지원

20 VC++ 2008 새로운 MFC 라이브러리 UX Visual Studio IDE 지원

21 Office 리본바 지원

22 CFrameWnd Class 에 새로운 매소드 추가됨 2 개의 매소드를 통해 프로그램 실행중 동적으로 메뉴를 보이거나 숨김 기능 동작 2 개의 이벤트 핸들러를 통해 메뉴상태에 다른 코드 적용가능 MDI, 다이얼로그에서는 지원 안 함 virtual void CFrameWnd::SetMenuBarVisibility(DWORD nStyle); virtual DWORD CFrameWnd::GetMenuBarVisibility(); VC++ 2008 메뉴바 숨김기능 MFC 지원

23 VC++ 2008 Vista 에서 새로운 컨트롤 추가 지원 공용 파일 다이얼로그 Vista 형태의 다이얼로그 기본 지원 Shell Interface 형태 Component 호출 IFileOpenDialog, IFileSaveDialog, IFileDialogEvents 기존 API 형태도 유지되나 기본호출 되지 않음 GetOpenFileName, GetSaveFileName, OnNotify 페이져 컨트롤 양 끝 방향버튼으로 버튼 페이지 구성 MFC 에서는 CPagerCtrl Class

24 VC++ 2008 Vista 에서 새로운 컨트롤 추가 지원 네트워크 주소 지정 컨트롤 네트워크 주소 입력. IPv4, IPv6, DNS 의 유효성검사 MFC 에서는 CNetAddressCtrl Class Command 버튼 아이콘, 노트 같은 커다란 버튼 지원 MFC 에서는 CButton Class 로 연동 Split 버튼 여러 명령 집합 묶음 버튼 MFC 에서는 CSplitButton Class SysLink 컨트롤 MFC 에서는 CLinkCtrl Class

25 VC++ 2008

26 MFC

27 Microsoft Foundation Class Library C++ 형태로 포장된 Windows API 클래스 라이브러리 1992 년 MFC 1.0 마이크로소프트 C/C++ 7.0 처음 탑재 관련 라이브러리 볼랜드 OWL (Object Windows Library) 매킨토시 TCL (Think Class Library) Mainsoft 유닉스용 MFC 라이브러리

28 MFC 버전

29 G G CWinApp 문서 / 뷰 지원 OLE 지원 예외처리 파일지원 데이터베이스 컨테이너 Frames Control Bars Dialogs Views Window Controls GDI Support Visual Manager 탭지원 MDI Office 리본바 ToolBar, Menu, StatusBar 도킹판 (Docking Panes) Vista 공용 다이얼로그 Vista 공용 컨트롤 새로운 컨트롤 기타 … 범용기능 UI 구현개발기술 추가 MFC 구성요소

30 MFC 새로운 기능 Vista 지원 Control Class 추가 데스크탑 통보 윈도우 추가 Messenger, Outlook 2007 화면 우측 하단 팝업창 새로운 UI Control 향상된 버튼 Shell tree and list 마스크를 지원하는 Edit Box 프로퍼티 리스트 (Property list) 새로운 공용 Control Command 버튼 Class Split 버튼 Class 네트워크 주소지정 컨트롤 Class SysLink 컨트롤 Class

31 MFC DrawClient

32 MFC 탭지원 MDI, 툴바, 상태바

33 MFC 리본바

34 CMFCRibbonApplicationButtonCMFCRibbonQuickAccessToolBar CMFCRibbonBar CMFCRibbonCategory CMFCRibbonPanel CMFCRibbonButton CMFCRibbonColorButton

35 MFC 도킹판 (Docking Panes)

36 MFC VisualManager 응용프로그램을 화려하게 구성 UI 구성 코드를 한곳에 집중. toolbars, buttons, menus, ribbons, docking panes, 기타 … 실행 중에 다른 스킨으로 변경 Office XP Native Windows XP/Windows Vista Office 2003 Visual Studio 2005 Office 2007 (색상 스키마)

37 MFC VisualManager

38 MFC 새로운 기능

39 릴리즈 정식버전 2008 년 3 월 예정 RC 버전 2007 년 12 월 릴리즈 웹사이트를 통해 다운로드 가능 추가 탑재예정 MFC update TR1

40 VC++ 10 네비티브 코드 기반 개발자를 위한 강력한 기능 Office & Windows UI 구현 메이져 역할 예 ) Office 14 & Windows 7 Windows 새로운 기능에 변화 예 )Search & Organize Restart Manager Power Management 네이티브와 관리형 코드간의 융합에 포커스 다음버전

41 빌드환경 개선 Vista 기반 지원 강화 MFC 기능 지원 강화 네이티브 개발에 대한 지원 지속 VC++ 2008 을 통해 새로운 기술 및 가능성 제시  VC++ 2008 지속성장 결론

42 관련자료 VS 2008 Professional Trial Edition http://www.microsoft.com/downloads/details.aspx?FamilyID=83c3 a1ec-ed72-4a79-8961-25635db0192b&DisplayLang=en VC++ Blog http://blogs.msdn.com/vcblog/ VC++ Libraries forums http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=8& SiteID=1 Channel9 VC++ videos http://channel9.msdn.com/tags/C++ BCGSoft http://www.bcgsoft.com/

43 VC++ 팀블로그 관련내용 http://blogs.msdn.com/vcblog Marshaling Library in Orcas Visual Studio Express Orcas Resource Editor Updates for Orcas Visual C++ Orcas Feature Specifications online Custom Wizards MFC Updates for Vista Common Controls Multi-processor builds in Orcas Managed Incremental Build An Update to STL/CLR is Complete!

44 최근의 Channel 9 영상들 http://channel9.msdn.com/tags/C++ Steve Teixeira and Bill Dunlap: Visual C++ Today and Tomorrow Nikola Dudar: STLCLR - STL Development in the Managed World Marina Polishchuk: VC++ QA - The best job in the biz Sarita Bafna: VC++ "Orcas" - Marshaling Library and MFC support for Common Controls Ale Contenti: VC++ Safe Libraries and More Gordon Hogenson: Documenting Development Technologies

45

46


Download ppt "Visual C++ 2008 새로운 기능과 사용법 고재관 Microsoft MVP myaustin.egloos.com."

Similar presentations


Ads by Google