Januar 2017

Band 32, Nummer 1

Dieser Artikel wurde maschinell übersetzt.

Editor's Note – Outside In: Wie Kenny Kerr Microsoft um C++/WinRT bereichert hat

Durch Michael Desmond | Januar 2017

Michael DesmondHoffnung, erhalten auf die Aktion mit der Windows-Runtime (WinRT) in C++-Entwickler haben eine hohe Einstiegsschwelle konfrontiert. Eine Arbeit mit der Windows Runtime C++-Vorlagenbibliothek (WRL) ursprünglich entwickelt, um bootstrap-interne Entwicklung von APIs von Microsoft, oder wenden Sie sich an den Microsoft-Erweiterungen für C++-Komponente (C++ / CX), Zugriff auf die WRL-Funktionen, aber nicht mehr von einer neuen Abwandlung von C++ zu optimieren.

Kenny Kerr, langjähriger C++ Kolumnist beim MSDN Magazin und nun ein Techniker im Windows-Team bei Microsoft davon ausgegangen, gibt es eine bessere Möglichkeit werden musste. Er begann Arbeit früh im 2014 auf einem Windows-Runtime-Projektion für die C++-Standardbibliothek, die der Sprache im Bereich der WinRT ein wesentlicher machen.

"Ich hatte einige Erfahrung beim Projizieren von COM-APIs in modernem C++ entschied ich mich darauf, ob Sie diese Techniken zu Windows-Runtime angewendet werden können," sagt Kerr. "Ich wurde in zwei unterschiedlichen Situationen Redmond eingeladen, und es sicherlich schien, als ob sie mit der Idee der Aufwärmphase wurden. Schließlich war ich einen Auftrag und verknüpft die Windows-Team zum Abschluss des Projekts, mit deren Hilfe."

Das Ergebnis dieser Aufwand ist C++ / WinRT, eine standardmäßige C++ Language-Projektion für WinRT, die im Header vollständig implementiert wird Dateien und ermöglicht es Entwicklern, sowohl nutzen und Erstellen von Windows-Runtime-APIs über alle Standards kompatiblen C++-Compiler. Hierbei handelt es sich um interessante Dinge und Kerr beschreibt es alle ausführlich in seinem Artikel dieses Monats "Einführung in c++ / WinRT."

Kerr erklärt, dass es zwei Teile mit C++ gibt / WinRT – die Bibliothek und Projektion an, die von GitHub (URL) heruntergeladen werden kann und der cppwinrt.exe-Compiler, die die Lücke zwischen standard C++ und WinRT schließt. Während die meisten der Aufwand für die Datum hat sich der Fokus auf die Bibliothek und die Projektion, laut Kerr der Compiler Cppwinrt Aufmerksamkeit verdient. "Entwickler wirklich brauchen, um die Hände auf dieses Tool zu erhalten, wie viele Probleme, generieren Projektionen für verschiedene Plattformen oder Komponenten, zum Spielen einer wichtigsten Rolle bei der Entwicklung von WinRT-Komponenten vollständig mit C++ gelöst / WinRT."

Einer der größten Herausforderungen Kerr bei der Entwicklung von C++ / WinRT wurde die vor-und Nachteile, die WinRT stellt Projektionen für JavaScript und verwaltetem .NET Sprachen standardmäßig unterstützen verwalten. Er herausfiltert die Komplexität beim wie generische Sammlungen nicht über sprachprojektionen.

"Eine der schwierigsten Aufgaben, die ich frühzeitig konfrontiert wurde eine effiziente Möglichkeit für standard C++ WinRT Schnittstelle Versioning Modell verarbeiten zu ermitteln. Ich erwähne dies kurz im Artikel dieses Monats, aber ich nicht auf wie 'required' Schnittstellen zum Zeitpunkt der Kompilierung in C++ tatsächlich zusammen aggregiert werden berühren"Kerr erklärt. "Es wirklich meine Kenntnisse von C++ zu diesem Zeitpunkt abgelegt und wurde seit Visual C++-Compiler solcher Techniken in diesem Maßstab effizienter verarbeiten abgelegt."

Microsoft seit Jahren wurde hervorgehoben wurden, Offenheit und plattformübergreifende Unterstützung in seiner Entwicklungstools (finden Sie unter des Editors Hinweis-Spalte in der aktuellen MSDN Magazine Connect(); Sonderausgabe unter msdn.com/magazine/mt790179). C++ / WinRT-Projekt ist ein gutes Beispiel für diese Werte bei der Arbeit, wie Microsoft freut sich über die bemühungen von der Community zu Plattformen zu verbessern. Trotzdem führt zu folgender Frage: Wie Ende ein Guy außerhalb von Microsoft am wichtige Tools für eine Hauptzweig Microsoft-Programmiersprache erstellen? Kerr besagt, dass es auf anderen Augen kommt.

"Es gibt viele sehr erfahrene C++-Entwickler bei Microsoft, die Jahrzehnte lang Stellenanzeigen arbeiten mit C++ und COM verbracht haben," sagt Kerr. "Ich glaube, dass jemand gedauert, die erkennen nicht, dass es unmöglich war, probieren es trotzdem und zeigen, dass es funktioniert."


Michael Desmond*ist der Chefredakteur des MSDN Magazine. *