one day mobile 2014
C++ in Windows Phone Apps
Mirco Vanini
Microsoft® MVP Windows Embedded
one day mobile 2014
The new old platform
How & where C++ is supported
When and why to use C++
Introduction to the Windows (Phone) Runtime
Sharing C++ code (demo)
Agenda
one day mobile 2014
The New Old Platform
one day mobile 2014
Can be used in any Windows Phone App
Visual Studio Express 2012/3 for Windows Phone
Same C++ compiler & CRT used in Windows 8
Subset of C++ 11 standard features
How: Windows Phone C++ Support
one day mobile 2014
Sampling of C++ 11 Standard Features
RValue references Forward declared enums Bidirectional fences
static_assert Alignment Data-dependency ordering
Auto Standard-layout and trivial types exception_ptr
Trailing return types Extended friend declarations Thread-local storage
Lambdas Local and unnamed types as template arguments __func__
Decltype Range-based for-loop C99 preprocessor
Right angle brackets override and final long long
extern templates Minimal GC support Strongly typed enums
nullptr Atomics
C++11 Features in Visual C++ 11
Announcing the Visual C++ Compiler November 2013
one day mobile 2014
All Windows Phone 8 apps can use native code… XAML apps (8.1)
XAML apps mixed with D3D and WinRT
Pure native D3D apps/games
C++ libraries: Dynamic Link Libraries, Static Libs
WinRT C++ Components
...not all apps need to use native code
Where you can use C++
one day mobile 2014
Reusability: You have some legacy code around that you really don't want to rewrite but still use in your app
Portability: You want to use the code you're about to write on multiple platforms
Performance: You really are in need for these last bits of performance benefits and know what you're doing
Personal Preference: You are a developer who really favors C++ over e.g. C# or you have significantly better skills in C++
Why use C++
one day mobile 2014
Why learn about WinRT? WinRT is used in the application model
C++ code called from XAML uses WinRT
Phone Platform APIs are built using WinRT
Windows Phone Runtime
Infrastructure:
• Core plumbing
• Common type system
• Standard programming
model
APIs:
• Windows Phone Platform
APIs
• Libraries you write and
license
• Projected to C++ and
C# / VB
one day mobile 2014
A Closer Look at What's Available
Direct3D with XAML" C++ application actually creates a C# main project and a separate Windows Runtime Component in C++.
one day mobile 2014
Sharing C++ code
one day mobile 2014
Welcome back to C++!
Recap
one day mobile 2014
Q&A
one day mobile 2014
Contact
feedback
10
Bloghttp://mircovanini.blogspot.com
Email [email protected]
Web www.proxsoft.it
Twitter @MircoVanini
Recommended