2014-09-21 79 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