微軟已經(jīng)在開發(fā)Windows 10 20H1預(yù)覽版,預(yù)計(jì)將在明年4月份發(fā)布。近期,微軟發(fā)布了Windows 10 20H1 SDK的第一個(gè)預(yù)覽版本build 18890。包括了消息編譯器,Windows跟蹤預(yù)處理器等更新。
下面是更新內(nèi)容:
Message Compiler(mc.exe)
現(xiàn)在檢測.mc文件中的Unicode字節(jié)順序標(biāo)記(BOM)。如果.mc文件以UTF-8 BOM開頭,則它將被讀取為UTF-8文件。如果它以UTF-16LE BOM開頭,它將被讀作UTF-16LE文件。否則,如果指定了-u參數(shù),它將被讀取為UTF-16LE文件。否則,將使用當(dāng)前代碼頁(CP_ACP)讀取它。
現(xiàn)在避免由于沖突配置宏導(dǎo)致MC生成的C/C ++ ETW助手中的單定義規(guī)則(ODR)問題(例如,當(dāng)MCGEN_EVENTWRITETRANSFER定義沖突的兩個(gè).cpp文件鏈接到同一個(gè)二進(jìn)制文件時(shí),MC生成的ETW幫助程序現(xiàn)在將尊重每個(gè).cpp文件中MCGEN_EVENTWRITETRANSFER的定義,而不是任意選擇一個(gè)或另一個(gè))。
Windows跟蹤預(yù)處理器(tracewpp.exe)
現(xiàn)在支持Unicode輸入(.ini,.tpl和源代碼)文件。以UTF-8或UTF-16字節(jié)順序標(biāo)記(BOM)開頭的輸入文件將被讀取為Unicode。將使用當(dāng)前代碼頁(CP_ACP)讀取不以BOM開頭的輸入文件。為了向后兼容,如果指定了-UnicodeIgnore命令行參數(shù),則以UTF-16 BOM開頭的文件將被視為空。
現(xiàn)在支持Unicode輸出(.tmh)文件。默認(rèn)情況下,輸出文件將使用當(dāng)前代碼頁(CP_ACP)進(jìn)行編碼。使用命令行參數(shù)-cp:UTF-8或-cp:UTF-16生成Unicode輸出文件。
行為更改:tracewpp現(xiàn)在將所有輸入文本轉(zhuǎn)換為Unicode,以Unicode執(zhí)行處理,并將輸出文本轉(zhuǎn)換為指定的輸出編碼。早期版本的tracewpp避免了Unicode轉(zhuǎn)換,并在假定單字節(jié)字符集的情況下執(zhí)行文本處理。在輸入文件不符合當(dāng)前代碼頁的情況下,這可能會導(dǎo)致行為更改。如果這是一個(gè)問題,請考慮將輸入文件轉(zhuǎn)換為UTF-8(使用BOM)和/或使用-cp:UTF-8命令行參數(shù)以避免編碼歧義。
TraceLoggingProvider.h
現(xiàn)在避免由沖突的配置宏引起的單定義規(guī)則(ODR)問題(例如,當(dāng)兩個(gè)具有沖突的TLG_EVENT_WRITE_TRANSFER定義的.cpp文件鏈接到同一個(gè)二進(jìn)制文件時(shí),TraceLoggingProvider.h幫助程序現(xiàn)在將遵循每個(gè)中TLG_EVENT_WRITE_TRANSFER的定義。cpp文件而不是任意選擇一個(gè)或另一個(gè))。
在C ++代碼中,TraceLoggingWrite宏已更新,以使用可變參數(shù)模板在類似事件之間實(shí)現(xiàn)更好的代碼共享。
還有一個(gè)重大變化,即刪除irprops.lib,因此鏈接到它的開發(fā)人員現(xiàn)在必須鏈接到bthprops.lib。此外,自Windows 10版本1903以來,該版本帶來了許多新的API。
值得注意的是,最新的SDK預(yù)覽版可以與之前的SDK以及Visual Studio 2017或更高版本并行使用。你可以繼續(xù)將以Windows 10版本1903為目標(biāo)的應(yīng)用程序提交到商店。此外,此版本僅適用于Windows Insider Preview預(yù)覽版。
你可以在此處下載最新的SDK預(yù)覽版本。還提供隨附版本的硬件實(shí)驗(yàn)室套件(HLK),評估和部署套件(ADK)以及Windows驅(qū)動程序工具包(WDK)。
更多精彩內(nèi)容歡迎繼續(xù)關(guān)注win7之家litigationlawyersdallas.com!
網(wǎng)友評論