Microsoft PowerPoint - Visual C 새로운 기능과 사용법

Similar documents
Microsoft PowerPoint - VC Update 블로그용

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

Dialog Box 실행파일을 Web에 포함시키는 방법

VS2008을 이용한 C++코드의 견고한 업그레이드

Visual Studio online Limited preview 간략하게살펴보기

윈도우시스템프로그래밍

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

Interstage5 SOAP서비스 설정 가이드

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

서현수

Secure Programming Lecture1 : Introduction

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

슬라이드 1

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

초보자를 위한 C++

초보자를 위한 C# 21일 완성

슬라이드 1

APOGEE Insight_KR_Base_3P11

AVG PC TuneUp User Manual

슬라이드 1

10X56_NWG_KOR.indd

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Windows 8에서 BioStar 1 설치하기

이 드리는 혜택 완벽 을 위한 발환경 : Team Foundation Server 200 & CAL 제공 최저의 비용으로 구현을 위해 Visual Studio Team Foundation Server 200 서버 라이센스와 CAL이 에 포함되어 있습니다 을 모든 팀원이

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Orcad Capture 9.x

Solaris Express Developer Edition

통계적 DB보안

스마트월드캠퍼스 교육교제

chapter4

슬라이드 1

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

윈도우시스템프로그래밍


thesis

Microsoft PowerPoint - hci2-lecture11.ppt

슬라이드 1

Microsoft PowerPoint - hci2-lecture11.ppt

초보자를 위한 자바 2 21일 완성 - 최신개정판

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PCServerMgmt7

Windows Live Hotmail Custom Domains Korea

Install stm32cubemx and st-link utility

윈도우 프로그래밍의 개념

Intro to Servlet, EJB, JSP, WS

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

Secure Programming Lecture1 : Introduction

PRO1_02E [읽기 전용]

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

윈도우시스템프로그래밍

Office Office Office 365,,,,,. Microsoft Microsoft

PowerPoint 프레젠테이션

vm-웨어-01장

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - 06-Body Data Class.pptx

윈도우 비스타를 윈도우 7로 업그레이드 1단계 1 단계: Windows 7(윈도우 7)의 어떤 버전으로 업그레이드할 수 있습니까? 아래 표에서는 Windows 7(윈도우 7)로 업그레이드할 수 있는 Windows Vista(윈도우 비스타) 버전에 대해 설명합니다. 업그

슬라이드 1

<4D F736F F F696E74202D203039C0E520B4EBC8ADBBF3C0DA205BC8A3C8AF20B8F0B5E55D>

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

DLL(Dynamic Linked Library)

Session3. 한국마이크로소프트(전사적 데이터 통합 컨퍼런스).ppt

슬라이드 1

슬라이드 1

Windows 네트워크 사용 설명서

MVVM 패턴의 이해

Chapter_02-3_NativeApp

4S 1차년도 평가 발표자료

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

교육자료

vi 사용법

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

C# Programming Guide - Types

C++ Programming

DBMS & SQL Server Installation Database Laboratory

MPLAB C18 C

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

Corporate PPT Template

Short Presentation Title

Microsoft PowerPoint - chap-02.pptx

제목

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

IE 8 & ActiveX

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

슬라이드 1

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

C++ Programming

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

제11장 프로세스와 쓰레드

Facebook API

ALTIBASE 사용자가이드 Templete

Transcription:

Visual C++ 2008 새로운기능과사용법 고재관 Microsoft MVP myaustin@korea.com www.pdalab.org myaustin.egloos.com Agenda 목표와전략 빌드환경의개선 관리형코드와연계 Vista UI 컨트롤 Vista 공용컨트롤 MFC 9.0 의새로운기능 DEMO

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

VC++ 2008 버전 컴파일러버전내부버전통합제품 Visual C++ 1.0 1.0 Visual C++ 1.5 1.5 Visual C++ 2.0 2.0 Visual C++ 2.1 2.1 Visual C++ 2.2 2.2 Visual C++ 4.0 4.0 Visual C++ 4.1 4.1 Visual C++ 4.2 4.2 Visual C++ 5.0 5.0 Visual Studio 97 Visual C++ 6.0 6.0 Visual Studio 6.0 Visual C++.NET 2002 7.0 Visual Studio.NET 2002 Visual C++.NET 2003 7.1 Visual Studio.NET 2003 Visual C++ 2005 8.0 Visual Studio 2005 Visual C++ 2008 9.0 Visual Studio 2008 VC++ 2008 목표와전략 목표 성공하는다음세대기술을리드하는세계적네이티브개발자 전략 / 수행 생산성과적응력향상을위한최신의 Visual C++ 안전하고빠른최신개발기술을위한네이티브라이브러리투자 네이티브와관리형코드간의마찰없는융합기술

VC++ 2008 지속적지원 VC++ 컴파일러기능향상 추가기능지원 MFC 기능지원및수정보완 Vista 및 Office UI 기능확장 관리형코드와의원활한연동을위한마샬링지원 VC++ 2008 개발 Focus Windows Vista 개발 Vista 응용프로그램개발을 MFC 에서간단한작업으로빠른구현 빌드 (Build) 시간개선 병렬빌드및네이티브 - 관리형코드빌드시간단축 관리형코드연결 관리형코드포함또는기존관리형코드연결개선

VC++ 2008 개선된기능 프로젝트 솔루션열기속도향상 컴파일속도개선 관리형코드 / 네이티브코드증분빌드속도향상 병렬컴파일지원 UI Vista 지원 Control 추가 MFC 기능추가 C++ STL/CLI 지원 표준 C++ 지원강화 TR1 지원추가 VC++ 2008 /MP 컴파일러스위치지원 cl.exe 용멀티프로세스빌드 /MP 또는 /MPn (n은 CPU의개수 ) Project Properties C/C++ Command Line Additional options Multi-proc 프로젝트빌드에서동작 Multi proc 프로젝트빌드에서동작 Tools Options Project and Solutions Build and Run parallel project builds 최상의결과를얻기위한설정

VC++ 2008 UAC 노출응용프로그램생성 Linker /MANIFESTUAC[:{NO fragment }] Project Properties Linker Manifest File Project Upgrade UAC는커지고레벨은 asinvoker 로설정함 VC++ 2008 UAC 컴플라이언스 기본적으로 HKCU 로 ATL COM 등록 HKLM 레지스트리선택 IE7 보호모드디버깅지원 디버거런처 : Web Browser Debugger

VC++ 2008 Class 디자이너지원 Class Designer MFC 로되어있는현재의코드만비주얼화 VC++ 2008 관리형코드증분빌드 A.Dll ClassB b; b.f() A.dll B.meta B.dll B.meta(*) B.Dll public ref class ClassB { public String f() { //important string here return Important String ; } } 마지막빌드후중요한변경없이프로젝트스킵

Project Properties General Enable Managed Incremental Build 기본적으로 On Property 쉬트에서접근가능 관리형브릿지지원 관리형코드를 C++ 응용프로그램에서쉽게사용지원 Marshaling 라이브러리지원 STL/CLR 라이브러리지원 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_traitstraits 난수발생제네레이터 ANSI C99 미지원및일부수학함수지원불가

VC++ 2008 마샬링라이브러리지원 네이티브코드로부터데이터형태로마샬링지원 관리형코드와네이티브코드사이의데이터타입마샬링 마샬링컨텍스트를미요구변환마샬링 사용자에의한미지원기능확장가능 #include <msclr/marshal.h> using namespace msclr::interop; { System::String^ sourcestring1 = teststring const char* deststring1; } //Convert System::String^ to const char* using //TO to = context.marshal_as<to>(from) as<to>(from) marshal_context ctx; deststring1 = ctx.marshal_as<const char*>(sourcestring1); VC++ 2008 STL/CLR 라이브러리변경사항.NET Framework 사용응용프로그램 STL 공용사용 STL 및.NET 컬렉션사이에데이터교환 템플릿및지네릭을동시에사용 최상의성능향상및크로스 - 언어호환성성취디자인 관리형코드의어떤한부분에서의 STL 지원 #include <cliext/hash_map> #include <cliext/algorithm> void myfunction() { cliext::hash_map< Int32, String^ > mymap; mymap.insert(cliext::make_pair(5, gcnew String("String1"))); cliext::hash_map<int32,string^>::iterator itfive= mymap.find(5); cliext::vector<string^> v4; cliext::random_shuffle( v4.begin( ), v4.end( ) ); }

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

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

VC++ 2008 Vista 에서새로운컨트롤추가지원 공용파일다이얼로그 Vista 형태의다이얼로그기본지원 Shell Interface 형태 Component 호출 IFileOpenDialog, IFileSaveDialog, IFileDialogEvents 기존 API형태도유지되나기본호출되지않음 GetOpenFileName, GetSaveFileName, OnNotify 페이져컨트롤 양끝방향버튼으로버튼페이지구성 MFC 에서는 CPagerCtrl Class VC++ 2008 Vista 에서새로운컨트롤추가지원 네트워크주소지정컨트롤 네트워크주소입력. IPv4, IPv6, DNS 의유효성검사 MFC 에서는 CNetAddressCtrl Class Command 버튼 아이콘, 노트같은커다란버튼지원 MFC 에서는 CButton Class 로연동 Split 버튼 여러명령집합묶음버튼 MFC 에서는 CSplitButton Class SysLink 컨트롤 MFC에서는 CLinkCtrl Class

VC++ 2008 MFC

MFC MFC 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 라이브러리 MFC 버전 컴파일러버전 MFC 버전 MS-C 7.0 MFC 1.0 Visual C++ 1.0 MFC 2.0 Visual C++ 1.5 MFC 2.5 Visual C++ 2.0 MFC 3.0 Visual C++ 2.1 MFC 3.1 Visual C++ 2.2 2 MFC 3.2 Visual C++ 4.0 MFC 4.0 Visual C++ 4.1 MFC 4.1 MFC42.dll Visual C++ 4.2 MFC 4.2 MFC42.dll Visual C++ 5.0 MFC 4.21 MFC42.dll Visual C++ 6.0 MFC 6.0 MFC42.dll Visual C++.NET 2002 MFC 7.0 Visual C++.NET 2003 MFC 7.1 Visual C++ 2005 MFC 8.0 Visual C++ 2008 MFC 9.0

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

MFC 추가된매소드 추가된 MFC Class 매소드 CMonthCalCtrl (19), CButton (15), CTreeCtrl (15), CListCtrl (14), CToolBarCtrl (9), CProgressCtrl (8), CEdit (7), CComboBox (5), CDateTimeCtrl (5), CHeaderCtrl (5), CReBarCtrl (4), CToolTipCtrl (4), CSliderCtrl (2), CStatusBarCtrl (1), CAnimateCtrl (1), CLinkCtrl (1) MFC DrawClient

MFC 탭지원 MDI, 툴바, 상태바 MFC 리본바

MFC 리본바 CMFCRibbonApplicationButton CMFCRibbonCategory CMFCRibbonQuickAccessToolBarC CMFCRibbonButton CMFCRibbonBar CMFCRibbonPanel CMFCRibbonColorButton C MFC 도킹판 (Docking Panes)

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

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

다음버전 VC++ 10 네비티브코드기반개발자를위한강력한기능 Office & Windows UI 구현메이져역할 예 ) Office 14 & Windows 7 Windows 새로운기능에변화 예 ) Search & Organize Restart Manager Power Management 네이티브와관리형코드간의융합에포커스 결론 빌드환경개선 Vista 기반지원강화 MFC 기능지원강화 네이티브개발에대한지원지속 VC++ 2008 을통해새로운기술및가능성제시 VC++ 2008 지속성장

관련자료 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++ p// / g/ BCGSoft http://www.bcgsoft.com/ 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!

최근의 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