编译器和链接器中的 Unicode 支持
大多数 Microsoft C/C++ (MSVC) 构建工具都支持 Unicode 输入和输出。
文件名
在命令行或编译器指令(例如 #include
)中指定的文件名可能包含 Unicode 字符。
源代码文件
标识符、宏、字符串和字符文字以及注释中支持 Unicode 字符。 还支持通用字符名称。
Unicode 可以按以下编码输入到源代码文件中:
带或不带字节顺序标记 (BOM) 的 UTF-16
带或不带 BOM 的 UTF-16 大尾数
UTF-8 with BOM
在 Visual Studio IDE 中,你可以将文件保存为多种编码格式,包括 Unicode 格式。 使用“保存”按钮上的下拉菜单将它们保存在“文件另存为”对话框中。 在下拉列表中选择“通过编码保存”。 然后,在“高级保存选项”对话框中,从下拉列表中选择一种编码。 选择“确定”以保存文件。
输出
在编译期间,编译器以 UTF-16 将诊断信息输出到控制台。 可以在控制台上显示的字符取决于控制台窗口属性。 重定向到文件的编译器输出位于当前的 ANSI 控制台代码页中。
链接器响应文件和 .DEF
文件
响应文件和 .DEF
文件可以是带有 BOM 或 ANSI 的 UTF-16 或 UTF-8。
.asm
和 .cod
转储
为了与 MASM 兼容,.asm
和 .cod
转储默认使用 ANSI。 使用 /FAu
可输出 UTF-8。
如果指定 /FAs
,则直接打印混合源。 例如,当源代码是 UTF-8 并且你没有指定 /FAsu
时。