编译器和链接器中的 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 时。

另请参阅

通过命令行使用 MSVC 工具集