2014-09-21 78 views
1

我想解决DirectXMath支持的地方。我知道它的目的是作为Windows 8前进的新事物,但没有宏观检查(例如对_WIN32_WINNT),并且在我的测试中似乎至少在Windows7 & VS2013中工作正常。与大多数MSDN文档不同,它的文档页面上似乎没有“平台要求”部分...DirectXMath支持哪里?

它仅仅是编译器的问题吗?

回答

3

DirectXMath主要依靠Visual Studio编译器内在函数支持。作为Windows 8.x SDK的头文件,它正式只支持Visual Studio 2010 - Visual Studio 2013和Windows Vista或更高版本。它只有一个Win32 API依赖项(IsProcessorFeaturePresent),即使这是可选的。

在技术上可以在Windows XP中使用它,但是没有官方的SDK配置可以在Windows XP支持的标头中提供它。

对非MSVC编译器没有官方支持,而且我听说有一些小试题使用英特尔编译器。

请参阅Introducing DirectXMath

注:几个我在DirectXMath extensions博客系列使用内部函数使用VS 2012只或VS 2013只有内在的,但基础库是用VS 2010 SP1或更高版本兼容。

UPDATE:的DirectXMath库也可在MIT许可下GitHub,虽然我不再支持VS 2010

0

的DirectXMath库旨在为C++上 游戏和DirectX图形在Windows Store应用程序和传统 桌面应用程序的工作为Windows 8和后来的开发者。

http://msdn.microsoft.com/en-us/library/windows/desktop/hh437833%28v=vs.85%29.aspx
所以,既然Win8的(这doesn't的意思部分不容运行,下面太)
而且,作为一个例子,XMMatrixAffineTransformation:

平台要求
Microsoft Visual Studio 2010或Microsoft Visual Studio 2012与Windows SDK for Windows 8.支持Win32 桌面应用程序,Windows应用商店应用程序和Windows Phone 8应用程序。

+0

的东西是SDK的经常历来支持旧版本(否则肯定如果给出一个旧的_WIN32_WINNT值或类似的值,windows.h等总会出错),它只是说“Win32桌面应用程序”,它也适用于较旧的Window版本。其他API更具体,例如“最低支持的客户端Windows Vista [仅适用于桌面应用程序]”。 MS已经在旧平台上正式支持一些新的DirectX东西(例如XAUdio2没有通过XP上的DirectSound实现,而是其他地方的W​​SAPI实现) – 2014-09-22 00:12:32

+0

嗯,我明白* Windows 8 [和Win8可用]桌面应用程序,存储应用程序... *。这与其他API无关 – deviantfan 2014-09-22 00:15:36