|
1 | 1 | ---
|
2 | 2 | title: "Unicode Support in the Compiler and Linker | Microsoft Docs"
|
3 | 3 | ms.custom: ""
|
4 |
| -ms.date: "11/04/2016" |
5 |
| -ms.reviewer: "" |
6 |
| -ms.suite: "" |
| 4 | +ms.date: "12/15/2017" |
7 | 5 | ms.technology: ["cpp-tools"]
|
8 | 6 | ms.tgt_pltfrm: ""
|
9 | 7 | ms.topic: "article"
|
10 | 8 | f1_keywords: ["VC.Project.VCLinkerTool.UseUnicodeResponseFiles", "VC.Project.VCLibrarianTool.UseUnicodeResponseFiles", "VC.Project.VCCLCompilerTool.UseUnicodeResponseFiles", "VC.Project.VCXDCMakeTool.UseUnicodeResponseFiles"]
|
11 | 9 | dev_langs: ["C++"]
|
12 | 10 | helpviewer_keywords: ["Unicode, Visual C++"]
|
13 |
| -ms.assetid: acc1d322-56b9-4696-a30e-2af891a4e288 |
14 |
| -caps.latest.revision: 10 |
15 | 11 | author: "corob-msft"
|
16 | 12 | ms.author: "corob"
|
17 | 13 | manager: "ghogen"
|
18 | 14 | ms.workload: ["cplusplus"]
|
19 | 15 | ---
|
20 | 16 | # Unicode Support in the Compiler and Linker
|
21 |
| -This topic describes Unicode support in the Visual C++ build tools. |
22 |
| - |
23 |
| - Filenames |
24 |
| - Filenames specified on the command line or in compiler directives (such as #include) may now contain Unicode characters. |
25 |
| - |
26 |
| - Source code files |
27 |
| - Unicode characters are now supported in identifiers, macros, string and character literals, and in comments. Universal character names are also now supported. |
28 |
| - |
29 |
| - Unicode can be input into a source code file in the following encodings: |
30 |
| - |
31 |
| -- UTF-16 little endian with or without byte order mark (BOM) |
32 |
| - |
33 |
| -- UTF-16 big endian with or without BOM |
34 |
| - |
35 |
| -- UTF-8 with BOM |
36 |
| - |
37 |
| - Output |
38 |
| - During compilation, compiler outputs diagnostics to the console in UTF-16. The characters that can be displayed at your console depend on the console window properties. Compiler output redirected to a file is in the current ANSI console codepage. |
39 |
| - |
40 |
| - Linker response files and .DEF files |
41 |
| - Response files and DEF files can be either UTF-16 with a Byte Order Mark or ANSI. Previously only ANSI was supported. |
42 |
| - |
43 |
| - .asm and .cod dumps |
44 |
| - .asm and .cod dumps are in ANSI by default for compatibility with MASM. Use /FAu to output UTF-8. Note that if you specify /FAs, the intermingled source will just be directly printed and may look garbled, for example if source code is UTF-8 and you didn't specify /FAsu. |
45 |
| - |
46 |
| - You can enable Unicode file names in the development environment (see [Working with Project Properties](../../ide/working-with-project-properties.md)) by selecting the appropriate tool and by selecting the **Enable Unicode Response Files** property, which is enabled by default. One reason you might change this default is if you modify your development environment to use a compiler that does not have Unicode support. |
47 |
| - |
48 |
| -## See Also |
49 |
| - [Build C/C++ code on the command line](../../build/building-on-the-command-line.md) |
| 17 | + |
| 18 | +Most Visual C++ build tools support Unicode inputs and outputs. |
| 19 | + |
| 20 | +## Filenames |
| 21 | + |
| 22 | +Filenames specified on the command line or in compiler directives (such as `#include`) may contain Unicode characters. |
| 23 | + |
| 24 | +## Source code files |
| 25 | + |
| 26 | +Unicode characters are supported in identifiers, macros, string and character literals, and in comments. Universal character names are also supported. |
| 27 | + |
| 28 | +Unicode can be input into a source code file in the following encodings: |
| 29 | + |
| 30 | +- UTF-16 little endian with or without byte order mark (BOM) |
| 31 | + |
| 32 | +- UTF-16 big endian with or without BOM |
| 33 | + |
| 34 | +- UTF-8 with BOM |
| 35 | + |
| 36 | +## Output |
| 37 | + |
| 38 | +During compilation, the compiler outputs diagnostics to the console in UTF-16. The characters that can be displayed at your console depend on the console window properties. Compiler output redirected to a file is in the current ANSI console codepage. |
| 39 | + |
| 40 | +## Linker response files and .DEF files |
| 41 | + |
| 42 | +Response files and DEF files can be either UTF-16 with a BOM, or ANSI. |
| 43 | + |
| 44 | +## .asm and .cod dumps |
| 45 | + |
| 46 | +.asm and .cod dumps are in ANSI by default for compatibility with MASM. Use [/FAu](../../build/reference/fa-fa-listing-file.md) to output UTF-8. Note that if you specify **/FAs**, the intermingled source will just be directly printed and may look garbled, for example if source code is UTF-8 and you didn't specify **/FAsu**. |
| 47 | + |
| 48 | +## See also |
| 49 | + |
| 50 | +[Build C/C++ code on the command line](../../build/building-on-the-command-line.md) |
0 commit comments