0

默認情況下,Visual Studio 2012不支持Windows XP和Windows Server 2003.在更新1之前,這些操作系統根本不受支持。現在使用Update 1,我可以使用Visual Studio 2012創建面向Windows XP和Windows Server 2003的應用程序,方法是選擇使用vs110_xp toolset。大。如果我不用vs110_xp編譯DLL,該怎麼辦?

我想知道當我忘記這麼做會發生什麼? 「不支持」是什麼意思?可執行文件只是don't run:「...不是有效的Win32應用程序。」

但是,當我在XP上使用這樣的DLL會發生什麼?我似乎無法找到任何有關這方面的信息。不幸的是,我目前無法嘗試。任何人發現具體問題?

回答

3

該程序根本無法啓動並立即失敗。 VS2012中最重要的變化是它現在在/SUBSYSTEM linker option中指定了Windows 6.0版本。 Window XP會注意到這一點,它是版本5.02,舉起手來並且未能通過ERROR_BAD_EXE_FORMAT執行EXE啓動請求或DLL加載。

很重要的變化順便說一句,appcompat shims Windows打開的可執行文件,說他們是在舊版Windows上工作是相當麻煩。 Aero的謊言很難處理,你應該關心。 CRT也改變了很多,使用了更多的winapi函數,這些函數僅在6.0及更高版本中可用。 Update1修訂版在發現它們丟失時一直在緩慢運行。