我听说Windows 8的发展将使XAML/HTML5 + C++应用程序,但它是天然的非托管C++或托管C++(原C++ .NET)?Windows 8 WinRT - C++或C++ .NET?
4
A
回答
7
Windows Runtime (WinRT)本身是一个本地非托管框架,但可以通过简单的方式从托管的.NET语言中调用(与其他本机库和臭名昭着的P/Invoke
相比)。
但是,除了用它从托管语言也可以从C++/CX调用。这是一个Microsoft标准C++的扩展,类似于.NET的C++/CLI。但与后者相反,它完全是原生的非托管C++。但它支持一些C++/CLI的扩展,比如用于“托管式”指针的^
运算符。但是在引擎盖下,这些指针实际上并不是垃圾收集的指针,而是原生引用计数的指针,类似于std::shared_ptr
。而且它也支持,以便与的WinRT的XAML框架工作.NET样性质和代表,我认为,还有部分类。
除此之外,你甚至可以使用的WinRT从标准C++使用所谓Windows运行时C++模板库(WRL),虽然它被认为是比用C++/CX更麻烦,你可能不能够使用所有功能,如简单的XAML接口,不确定。
2
它是托管C++,你建成WinRT的组件。这些组件可以被HTML5或Win8 .NET应用程序引用。
0
若要添加到Slugart的良好答案,您可以为WinRT应用程序(和Java Script)编写非托管C++,他们也很可能会将这种非托管C++写入Windows Phone 8的能力也扩展(目前不可能) - 这将成为包括我自己在内的一些开发团队的主要发布者。
相关问题
- 1. WinRT中的Tab控件WINDOWS 8 C#
- 2. 用于WinRT Windows 8的SFTP库C#
- 3. HijriCalendar for WinRT(Windows 8 Metro)
- 4. HtmlAgilityPack和Windows 8 winRT
- 5. 针对Windows 8/Windows Phone 8(Apollo)/ Windows Phone 7开发 - WinRT(JavaScript)与Silverlight(C#)
- 6. SQLite加入Windows 8 Metro C#与sqlite-net
- 7. C#.net,Windows phone
- 8. Windows 8中的WinRT和WPF
- 9. OpenTK C#Windows Phone(8)
- 10. 作为用户控件或模板控制的弹出窗口Windows 8/WinRT C#
- 11. Windows 8 WinRT Xaml Grid in InlineUIContainer
- 12. 如何从Windows 8 C++/WinRT组件使用OutputDebugString组件
- 13. WinRT在Windows 8中使用C#的磁盘空间
- 14. WinRT上的C++,C#和JavaScript
- 15. C#/。NET在Windows
- 16. WinRT Reflection(C++/CX)
- 17. Windows 8 C#GridView e.ClickedItem
- 18. ContactPicker.PickSingleContactAsync Windows 8 C#usage
- 19. C#JavasScriptSerializer在Windows 8
- 20. Windows RT和c#
- 21. 如何获得的WinRT/Windows 8的
- 22. 通过.NET或C#
- 23. Windows 8 XAML - C++ vs C# - 用户体验
- 24. 过程IsFocused .net C++或C#
- 25. WinRT API WIndows :: System :: Launcher :: LaunchFileAsync()用法从C++
- 26. C#:在WinRT中
- 27. WinRT的C++ ComPtr GetAddressOf VS&
- 28. 阅读文件c#windows 8
- 29. c#windows 8选择comboboxitem
- 30. 分组的GridView。 C#。 Windows 8
没有“C++。NET”。请不要再为迷惑C++衍生物的丛林(http://www.stroustrup.com/uk-objections.pdf)[迷惑混乱]添加迷雾和混乱。当前Windowses有C++/CLI,WinRT有C++/CX(Windows 8),但它们完全不同。 –