
EMB422 Advanced Embedded Visual C++Application Development Control -View Nat Frampton President Real Time Development nat@realtimeonline.com MEDC DevCon 2005
EMB422 Advanced Embedded Visual C++ Application Development Control - View Nat Frampton President Real Time Development nat@realtimeonline.com

Microsoft MEDC Mobile Embedded DevCon 2005 May9-12,2005 Las Vegas Microsoft

Windows Mobile 出 Windows CE5.0 Windows EDcoc Hardware/Drivers OEM/IHV Supplied BSP OEM Hardware and Standard PC (ARM,SH4,MIPS) Standard Drivers Hardware and Drivers Device Building Windows XP DDK Tools Platform Builder Windows Embedded Studio Lightweight EDB SQL Server 2005 Express Edition Relational SQL Server 2005 Mobile Edition SQL Server 2005 Native win32 MFC 8.0,ATL 8.0 Managed .NET Compact Framework .NET Framework server side ASP.NET Mobile Controls ASP.NET Windows Media Multimedia Direct议 Location services MapPoint Development Tools Visual Studio 2005 Internet Security and Acceleration Server communications Exchange Server &Messaging Live Communications Server Speech Server Device Update Agent Management Image Update Software Update Services Tools Systems Management Server Microsoft Operations Manager
Management Tools Communications & Messaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update Location Services Multimedia MapPoint DirectX Windows Media Development Tools Visual Studio 2005 MFC 8.0, ATL 8.0 Native Win32 Managed Server Side Lightweight Relational EDB SQL Server 2005 Express Edition Data Programming Model Device Building Tools Hardware/Drivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005 Mobile Edition SQL Server 2005 ASP.NET Mobile Controls ASP.NET .NET Compact Framework .NET Framework Microsoft Operations Manager Systems Management Server

Goal Develop 回CE Remote Window 口回☒ 9 Control Application View Application Leverage 9 eVC++ AgTot62元ntsop MFC en:democontrol.exe Win32 oK☐Cancel☐owe ©Observe 9 Real Time Practices
Goal Develop Control Application View Application Leverage eVC++ MFC Win32 Observe Real Time Practices

Overview Native vs..NET Compact Framework ⊙ SDK Creation Application Architecture Win32 Application Development MFC Application Development
Overview Native vs. .NET Compact Framework SDK Creation Application Architecture Win32 Application Development MFC Application Development

Windows CE 5.0 Tools Operating System Development Windows CE 5.0 Platform Builder Application Development Windows CE 5.0 Platform Builder eMbedded Visual C++ Visual Studio.NET Smart Device Extensions
Windows CE 5.0 Tools Operating System Development Windows CE 5.0 Platform Builder Application Development Windows CE 5.0 Platform Builder eMbedded Visual C++ Visual Studio .NET Smart Device Extensions

Windows CE 5.0 Application Development eMbedded Visual C++4.0 SP4 Native Code Win32,MFC,ATL Visual Studio.NET 2003 Managed Code C#,Visual Basic .NET
Windows CE 5.0 Application Development eMbedded Visual C++ 4.0 SP4 Native Code Win32, MFC, ATL Visual Studio .NET 2003 Managed Code C#, Visual Basic .NET

Framework Sizes .NET Win32 MFC Framework Windows XP Embedded - 1.25MB 34 MB Windows CE.NET - 280KB 1.5MB Windows CE 5.0 OLECE400.DLL 200 KB Windows XP Embedded ASP.NET ~1.5 MB
Framework Sizes Win32 MFC .NET Framework Windows XP Embedded --- 1.25 MB 34 MB Windows CE .NET --- 280 KB 1.5 MB Windows CE 5.0 OLECE400.DLL ~ 200 KB Windows XP Embedded ASP .NET ~ 1.5 MB

Framework Strengths API Strengths Microsoft Win32 Smallestand fastest.exe files and DLLs (C1C+) Lowest memory overhead Required for device drivers,control panelapplets,shell extensions No runtime required;Windows CE5.0 is the runtime MFC Object-oriented.Inheritance,Encapsulation,Polymorphism,also (C+) called .function overloadina Typesafety Complete MFC source codeships with Embedded Visual Tools Good tool support wizards .NET Framework Well-designed programming interface Microsoft Visual Object-oriented.Inheritance,Encapsulation,Polymorphism,also called Basic®.NET)) function overloading rrraysishashtablos,ctio Type safety Namespaces Automatic garbage collection eliminates memory leaks Mrovd binryportable Web serviceclients are quick and easy to write Greatsupport for handling XML Greattool support-Forms Designer
Framework - Strengths API Strengths Microsoft Win32 (C / C++) Smallest and fastest .exe files and DLLs Lowest memory overhead Required for device drivers, control panel applets, shell extensions No runtime required; Windows CE 5.0 is the runtime MFC (C++) Object-oriented. Inheritance, Encapsulation, Polymorphism, also called .function overloading Container classes support arrays, lists, object maps and simplify data handling Type safety Complete MFC source code ships with Embedded Visual Tools Good tool support & wizards .NET Framework (C# and Microsoft Visual Basic® .NET) Well-designed programming interface Object-oriented. Inheritance, Encapsulation, Polymorphism, also called function overloading Container classes support arrays, lists, hashtables, dictionaries, and stacks Type safety Namespaces Automatic garbage collection eliminates memory leaks Portable machine instruction set, MSIL / CIL, provides binary portable of executable (.exe & .dll) files Web service clients are quick and easy to write Great support for handling XML Great tool support — Forms Designer

Framework Weaknesses API Weaknesses ronomoyr 9 Low-level API-can be hard to learn Procedure-oriented APl,not object-oriented MFC(C++) 9 Objectcleanup only semi-automatic,therefore less prone to memory leaks than Win32,but still somewhat vulnerable since MFC is thin wrapper on top of Win32 Size of runtime~500 KB(MFC&OLECE) .NET Framework Size of runtime~1.5 MB (C#and Microsoft Overhead of calls between managedand unmanaged code is high Visual Basic®.NET) COM Interoperability somewhat clumsy.Requires writing Win32 wrappers thatcall the COM interface functions Source code is not available Requires display based platform
Framework - Weaknesses API Weaknesses Microsoft Win32 (C / C++) Object cleanup is the responsibility of the application/driver programmer, making this API prone to memory leaks Low-level API — can be hard to learn Procedure-oriented API, not object-oriented MFC (C++) Object cleanup only semi-automatic, therefore less prone to memory leaks than Win32, but still somewhat vulnerable since MFC is thin wrapper on top of Win32 Size of runtime ~ 500 KB (MFC & OLECE) .NET Framework (C# and Microsoft Visual Basic® .NET) Size of runtime ~ 1.5 MB Overhead of calls between managed and unmanaged code is high COM Interoperability somewhat clumsy. Requires writing Win32 wrappers that call the COM interface functions Source code is not available Requires display based platform