コンパイラおよびリンカーでの Unicode のサポート

ほとんどの Microsoft C/C++ (MSVC) ビルド ツールは、Unicode での入力と出力に対応します。

ファイル名

コマンド ラインまたはコンパイラ ディレクティブ (#include など) で指定されるファイル名に、Unicode 文字を含めることができます。

ソース コード ファイル

識別子、マクロ、文字列リテラル、文字リテラル、およびコメントで、Unicode 文字がサポートされます。 また、ユニバーサル文字名もサポートされます。

Unicode は、次のエンコーディングのソース コード ファイルに入力できます。

  • BOM (Byte Order Mark) 付き、または BOM なしの UTF-16 リトル エンディアン。

  • BOM 付き、または BOM なしの UTF-16 ビッグ エンディアン。

  • UTF-8 with BOM

Visual Studio IDE で、Unicode などの複数のエンコード形式でファイルを保存できます。 [ファイル名を付けて保存] ダイアログで、[保存] ボタンのドロップダウンを使用して、それらを保存します。 ドロップダウンで [エンコード付きで保存] を選択します。 次に、[保存オプションの詳細設定] ダイアログ ボックスで、ドロップダウン リストからエンコードを選択します。 [OK] をクリックして、ファイルを保存します。

出力

コンパイル時に、コンパイラでは UTF-16 で診断をコンソールに出力します。 コンソールに表示できる文字は、コンソール ウィンドウのプロパティによって決まります ファイルにリダイレクトされるコンパイラ出力は、現在の ANSI コンソール コードページになります。

リンカー応答ファイルと .DEF ファイル

応答ファイルと .DEF ファイルは、BOM 付きの UTF-16 か UTF-8、または ANSI に設定できます。

.asm ダンプと .cod ダンプ

.asm ダンプと .cod ダンプは、MASM との互換性のために、既定で ANSI に設定されています。 UTF-8 を出力するには /FAu を使用します。

/FAs を指定した場合、混在したソースが直接出力されます。 文字が正しく表示されない可能性があります (例: ソース コードが UTF-8 の場合に /FAsu を指定しなかった場合)。

関連項目

コマンド ラインから MSVC ツールセットを使用する