我聽說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),但它們完全不同。 –