c++ - 您可以使用 C++/CX 编写普通的 Windows 应用程序吗?

标签 c++ windows-runtime

或者您是否仅限于“Metro 风格”应用程序和 Windows 应用商店应用程序?

起初,我认为 C++/CX 是 C++/CLI 的一个很好的替代品,因为它有一些漂亮的 C#-esque 关键字(“sealed”、“partial”),而且它还可以编译为 native 代码,而不是使用 .网。但是在线阅读时,我只能找到有关 Windows 应用商店应用程序和 Metro 风格应用程序的信息...

此外,WinRT 是否仅适用于 Windows 8 及更高版本?

最佳答案

是的,您可以使用 C++/Cx 编写桌面应用程序,并可以在桌面应用程序中使用一些 Windows 运行时 API(那些在文档和 header 中标记为可用于桌面应用程序的 API)。参见 Windows Runtime APIs for desktop apps . Enumerate app packages sample在 MSDN 上演示了使用 C++/Cx 在桌面应用程序中调用 Windows 运行时 API。

Windows 运行时 Xaml 类不适用于桌面应用程序,但由于您可以混合搭配 C++ 和 C++/Cx,因此您可以从应用程序调用典型的桌面 UI API(Win32、MFC、DirectX 等)也使用 C++/Cx。

C++/Cx 并不是 C++/CLI 的真正替代品。除了使用一些相似的语法外,它们还有完全不同的目标。正如您所注意到的,C++/Cx 不是一种托管语言,因此它不能用于调用托管代码。选择 C++/CLI 的主要原因是为了与托管代码进行互操作。如果您需要从桌面应用调用 Windows 运行时,C++/Cx 是一个不错的选择。

Windows 运行时仅适用于 Windows 8 及更高版本。

关于c++ - 您可以使用 C++/CX 编写普通的 Windows 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28733066/

相关文章:

c++ - 来自boost::asio的Valgrind错误

c++ - 双击时的文件关联问题(Windows 消息弹出)

c# - 根据公钥指数/模数进行 WinRT RSA 加密

windows-runtime - 测试指针是否位于 UIElement 上

C++ 可能同时读取 int 和 string

c++ - 根据中间字母替换(反转)代码

c++ - 这个简单的 c++ 程序永远运行,我不明白为什么

c++ - Windows 8 WinRT - C++ 或 C++ .NET?

wpf - 如何调试 Windows 运行时数据绑定(bind)?

c++ - 如何在 WinRT 中从 C++ 获取堆栈跟踪?