コンパイラおよびリンカーでの 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
を指定しなかった場合)。