Können C ++ / CX und C ++ / WinRT im selben Projekt verwendet werden?

Früher in dieser Woche, Kenny Kerrpresented C ++ / WinRT auf der CppCon 20161. Es ist eine Standard C ++ Projektion für die Windows Runtime, basierend aufModer.

Soweit ich verstehe, dieC ++ / CX Compiler / Präprozessor / Codegenerator berührt keinen Standard-C ++ - Code, und da C ++ / WinRT eine Standard-C ++ - Bibliothek ist, ist es meine naive Interpretation, dass sowohl C ++ / CX als auch C ++ / WinRT im selben Projekt verwendet werden können.

Fragen

Erstes zuerst: Stimmt meine naive Interpretation?Wenn ja, können C ++ / CX und C ++ / WinRT in derselben Kompilierungseinheit verwendet werden? Bei welcher Granularität können C ++ / CX und C ++ / WinRT gemischt werden, falls sie sich nicht in derselben Kompilierungseinheit befinden können?Kann C ++ / WinRT Typen konsumieren, die mit C ++ / CX im selben Projekt implementiert wurden? (Ich gehe davon aus, dass dies schwierig sein wird, da der C ++ / WinRT-Compiler Header aus den .winmd-Metadaten generieren muss, sodass eine Abhängigkeit von der (Pre-) Compiler-Ausgabe besteht.)

Falls es darauf ankommt, kann ich anhand der Antworten auf diese Fragen jetzt entscheiden, wie ich meine C ++ / CX-Projekte in die Zukunft verschieben möchte.

1 Embracing Standard C ++ für die Windows Runtime (auf YouTube).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage