編譯器和連結器中的 Unicode 支援
本主題描述 Visual C++ 建置工具中的 Unicode 支援。
Filenames
命令列上指定的檔案名稱及編譯器指示詞 (例如 #include) 現在可以包含 Unicode 字元。 在舊版 Visual C++ 中,只支援 ANSI 檔案名稱。 在輸出檔案名稱中應該盡量避免非 ASCII 字元,以便讓可執行檔在當地語系化版的 Windows 98 和 Windows Me 上執行。原始程式檔
Unicode 字元現在在識別項、巨集、字串和字元常值 (Character Literal),以及註解中都支援。 通用字元名稱現在也支援。Unicode 可以下列編碼方式輸入原始程式檔中:
UTF-16 位元組由小到大,加或不加位元組順序標記 (BOM)
UTF-16 位元組由大到小,加或不加 BOM
UTF-8 加 BOM
Output
在編譯期間,編譯器會以 UTF-16 輸出診斷至主控台 (Console)。 可顯示於主控台的字元,依主控台視窗屬性而定。 編譯器輸出重新導向至檔案是以目前的 ANSI 主控台字碼頁執行。連結器回應檔和 .DEF 檔案
回應檔和 DEF 檔案可以是 UTF-16 加位元組順序標記或 ANSI。 舊版只支援 ANSI。.asm 和 .cod dumps
.asm 和 .cod dumps 是預設為使用 ANSI,以便與 MASM 相容。 使用 /FAu 輸出 UTF-8。 請注意,如果您指定 /FAs,混合的原始程式碼會直接列印而可能看起來像亂碼,例如,如果原始程式碼是用 UTF-8,而您並未指定 /FAsu 時。
您可以在開發環境中啟用 Unicode 檔案名稱 (請參閱 HOW TO:開啟專案屬性頁),方法是:選取適當的工具,並選取 [啟用 Unicode 回應檔] 屬性,這項屬性是預設為啟用。 您要變更這項預設值的其中一個理由是:如果修改開發環境,以便使用沒有 Unicode 支援的編譯器時。