2017 年 1 月

第 32 卷,第 1 期

本文章是由機器翻譯。

編者小記 - 由外到裡: Kenny Kerr 如何將 C++/WinRT 帶到 Microsoft

Michael Desmond |2017 年 1 月

Michael DesmondC + + 開發人員希望獲得 Windows 執行階段 (WinRT) 的動作有難以進入高障礙。原本是開發中的任一個工作使用 Windows 執行階段 c + + 樣板程式庫 (WRL),來啟動內部開發的 Api,microsoft,或移至 Microsoft 的 c + + 元件擴充功能 (C + + /CX) 來簡化存取 WRL 功能,代價是需要學習新的 c + + 方言。

Kenny Kerr 老道的 c + + 專欄作家 MSDN magazine,而現在 Windows 小組,microsoft 工程師相信必須更好的方法。他啟動 2014年在早期的工作上的 Windows 執行階段投影會使語言第一等公民 WinRT 空間中的標準 c + +。

說 「 我有一些過去的經驗,因此我決定要看看是否我可以將這些相同的技術套用至 Windows 執行階段在投影至現代 c + +,COM Api 」,Kerr。「 我受邀里德蒙上兩個不同的情況下,當然看來好像它們大哉問構想。最後,我會讓您的工作,加入 Windows 小組完成其說明專案。 」

這方面的結果是 C + + /cli WinRT、 WinRT 標頭中完全實作的標準 c + + 語言投影檔案,並可讓開發人員使用及撰寫 Windows 執行階段 Api,使用任何標準相容的 c + + 編譯器。這是令人興奮的部份,並 Kerr 探討它所有在他功能文件中這個月,「 簡介 C + + /cli WinRT。 」

Kerr 說明有兩個部分 C + + /cli WinRT — 基底的程式庫和投影,您可以下載從 GitHub (URL) 和標準 c + + 和 WinRT 之間搭建橋樑 cppwinrt.exe 編譯器。雖然大部分的至今工作著重在程式庫和投影,Kerr 說 cppwinrt 編譯器值得注意。「 開發人員是否真的要感到獲得這項工具,因為它可以解決許多問題,產生預測不同平台或元件,以扮演舉足輕重的角色,在開發 WinRT 元件完全使用 C + + /cli WinRT。 」

其中一個最大的挑戰 Kerr 面臨開發 C + + /cli WinRT 所管理 WinRT 可支援投影的 JavaScript 和 managed 的.NET 語言現成的取捨。他單精度浮點數 out 解泛型集合的工作,複雜程度跨語言推測。

「 早期面臨著最大挑戰之一構成有效的方式來處理 WinRT 的介面版本控制模型的標準 c + +。我之所以提到這短暫在本月的文章中,但是我不要碰上這些 「 必要 」 的介面實際上彙總的方式一起 c + + 編譯時期 」 Kerr 說。[它真的推入的 c + + 當時我了解並因為推入至更有效率地處理這種技術以這個規模 Visual c + + 編譯器。

Microsoft 多年來已經強調,開放式平台及跨平台支援在其開發工具 (看到我編輯器注意資料行中的新 MSDN Magazine connect (); 上的特殊問題msdn.com/magazine/mt790179)。C + + /cli WinRT 專案是工作中,這些值的絕佳範例,因為 Microsoft 歡迎社群的最大努力,以改善其平台。不過,牽涉到一個問題︰ 沒有 Microsoft 之外的 guy 最後如何建立重要主線 Microsoft 程式設計語言的工具? Kerr 說它是全新的眼睛。

「 有許多經驗 c + + 開發人員在 Microsoft 花了數十長時間使用 c + + 和 COM 的職涯,」 Kerr 說。「 我認為花費不知道它是不可能只是要嘗試嗎,並顯示它運作的人 」。


Michael Desmond*是 MSDN Magazine 的總編輯。 *