Visual Studio 2019 似乎對 C 17 有很好的支持。不幸的是,用它構建的二進制檔案似乎需要在目標機器上安裝通用 CRT,而 UCRT 支持的最低作業系統是 Vista。
那么,如果我想構建一個針對Windows XP的二進制檔案,我是否必須在 UCRT之前使用 VS C 編譯器?那是支持 C 11 的 VS 2013 嗎?
uj5u.com熱心網友回復:
支持 Windows XP 的最新工具集是v141_xp,即 Visual Studio 2017 的 XP 工具集。它具有完整的C 14支持和部分 C 17支持。它也隨 Visual Studio 2019 一起提供:

不幸的是,它沒有完整的 C 17 和 C 20 支持。
VS2019 的最新更新在 v142 工具集中有幾乎完整的 C 20 支持,并且有一個更新有望使其完整,但它沒有 XP 支持。(VS2022 預計將放棄 Vista 并在其 v143 工具集中支持一些 C 23)。
v141_xp 工具集仍然支持 C 14 和部分 C 17。例如,static_assert(true);沒有字串引數編譯。我認為它部分對應于他們提到 VS 2017的一致性表。(比如說,你將擁有std::any,但將無法使用shared_mutex,因為它依賴于 Vista SRWLOCK)
另請參閱:如何為 VC 2017 安裝 v141_xp 的構建工具?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/353021.html
