微軟釋出Win10 20H1首個SDK預覽版

win7之家-慧歌發表於2019-05-14

  微軟已經在開發Windows 10 20H1預覽版,預計將在明年4月份釋出。近期,微軟釋出了Windows 10 20H1 SDK的第一個預覽版本build 18890。包括了訊息編譯器,Windows跟蹤前處理器等更新。

微軟釋出Win10 20H1首個SDK預覽版

下面是更新內容:

Message Compiler(mc.exe)

  現在檢測.mc檔案中的Unicode位元組順序標記(BOM)。如果.mc檔案以UTF-8 BOM開頭,則它將被讀取為UTF-8檔案。如果它以UTF-16LE BOM開頭,它將被讀作UTF-16LE檔案。否則,如果指定了-u引數,它將被讀取為UTF-16LE檔案。否則,將使用當前內碼表(CP_ACP)讀取它。

  現在避免由於衝突配置宏導致MC生成的C/C ++ ETW助手中的單定義規則(ODR)問題(例如,當MCGEN_EVENTWRITETRANSFER定義衝突的兩個.cpp檔案連結到同一個二進位制檔案時,MC生成的ETW幫助程式現在將尊重每個.cpp檔案中MCGEN_EVENTWRITETRANSFER的定義,而不是任意選擇一個或另一個)。

Windows跟蹤前處理器(tracewpp.exe)

  現在支援Unicode輸入(.ini,.tpl和原始碼)檔案。以UTF-8或UTF-16位元組順序標記(BOM)開頭的輸入檔案將被讀取為Unicode。將使用當前內碼表(CP_ACP)讀取不以BOM開頭的輸入檔案。為了向後相容,如果指定了-UnicodeIgnore命令列引數,則以UTF-16 BOM開頭的檔案將被視為空。

  現在支援Unicode輸出(.tmh)檔案。預設情況下,輸出檔案將使用當前內碼表(CP_ACP)進行編碼。使用命令列引數-cp:UTF-8或-cp:UTF-16生成Unicode輸出檔案。

行為更改:tracewpp現在將所有輸入文字轉換為Unicode,以Unicode執行處理,並將輸出文字轉換為指定的輸出編碼。早期版本的tracewpp避免了Unicode轉換,並在假定單位元組字符集的情況下執行文字處理。在輸入檔案不符合當前內碼表的情況下,這可能會導致行為更改。如果這是一個問題,請考慮將輸入檔案轉換為UTF-8(使用BOM)和/或使用-cp:UTF-8命令列引數以避免編碼歧義。

TraceLoggingProvider.h

  現在避免由衝突的配置宏引起的單定義規則(ODR)問題(例如,當兩個具有衝突的TLG_EVENT_WRITE_TRANSFER定義的.cpp檔案連結到同一個二進位制檔案時,TraceLoggingProvider.h幫助程式現在將遵循每個中TLG_EVENT_WRITE_TRANSFER的定義。cpp檔案而不是任意選擇一個或另一個)。

  在C ++程式碼中,TraceLoggingWrite宏已更新,以使用可變引數模板在類似事件之間實現更好的程式碼共享。

  還有一個重大變化,即刪除irprops.lib,因此連結到它的開發人員現在必須連結到bthprops.lib。此外,自Windows 10版本1903以來,該版本帶來了許多新的API。

  值得注意的是,最新的SDK預覽版可以與之前的SDK以及Visual Studio 2017或更高版本並行使用。你可以繼續將以Windows 10版本1903為目標的應用程式提交到商店。此外,此版本僅適用於Windows Insider Preview預覽版。

  你可以在此處下載最新的SDK預覽版本。還提供隨附版本的硬體實驗室套件(HLK),評估和部署套件(ADK)以及Windows驅動程式工具包(WDK)。

  更多精彩內容歡迎繼續關注win7之家www.win7zhijia.cn!

相關文章