2

您可以仅使用 C++ 为 Windows 8 制作 Metro 应用程序吗?我的意思是,没有所有那些 Windows 编译器特定的扩展,比如 gc 等等。我已经尝试为 windows 8 dev 搜索一些代码,并且 c++ 的每个代码示例都使用所有那些相当无用的 windows c++ 扩展。

4

2 回答 2

6

您的问题本质上是关于您是否必须使用 C++/CX 扩展来编写 Metro 应用程序。

不,您不必这样;所有语言扩展都有语言内的类似物。您可以将 C++/CX 扩展视为 Qt 的预处理器设置魔法。所有 C++/CX 扩展都有等效的纯 C++ 类似物。你可以明确地写出来。

你只是不想。Metro API 基于 COM 对象等。因此,您必须明确处理 COM 接口、编组等。

无论哪种方式,您都在编写只能在 Windows 上运行的代码。因此,您不妨让自己轻松一点,并在必要时使用语言扩展。

于 2012-06-24T18:21:41.120 回答
1

WinRT 应用程序需要 Windows 特定的扩展,因为它们在沙盒环境中运行。请参阅http://msdn.microsoft.com/en-us/library/windows/apps/hh974580.aspx。您可以将 WinRT API 与 C++、C# 和 JavaScript 一起使用。

它需要 Visual Studios(最新)。

于 2012-06-24T17:56:08.380 回答