Поддержка Юникода в компиляторе и компоновщике

большинство средств сборки Microsoft C/C++ (MSVC) поддерживают входные и выходные данные в юникоде.

Имена файлов

Имена файлов, указанные в командной строке или в директивах компилятора (например, #include ), могут содержать символы Юникода.

Файлы исходного кода

Символы Юникода поддерживаются в идентификаторах, макросах, строковых и символьных литералах и в комментариях. Также поддерживаются универсальные имена символов.

Юникод может быть введен в файл исходного кода в следующих кодировках:

  • UTF-16 с прямым порядком байтов со знаком или без метки порядка байтов (BOM)

  • UTF-16 с обратным порядком байтов с BOM или без него

  • UTF-8 with BOM

в Visual Studio интегрированной среде разработки можно сохранять файлы в нескольких форматах кодирования, включая юникод. Сохраните их в диалоговом окне Сохранение файла с помощью раскрывающегося списка на кнопке сохранить . В раскрывающемся списке выберите сохранить с кодировкой . Затем в диалоговом окне Дополнительные параметры сохранения выберите кодировку из раскрывающегося списка. Нажмите кнопку ОК , чтобы сохранить файл.

Выходные данные

Во время компиляции компилятор выводит диагностические данные в консоль в кодировке UTF-16. Символы, которые могут отображаться в консоли, зависят от свойств окна консоли. Выходные данные компилятора, перенаправляемые в файл, находятся в текущей кодовой странице консоли ANSI.

Файлы ответов компоновщика и .DEF файлы

Файлы ответов и .DEF файлы могут быть как UTF-16, так и UTF-8 с BOM или ANSI.

.asm и .cod дампы

.asm и .cod дампы по умолчанию имеют кодировку ANSI для совместимости с MASM. Используется /FAu для вывода UTF-8.

Если указать /FAs , источник запутанной будет напечатан напрямую. Например, если исходный код имеет кодировку UTF-8 и вы не указали, это может показаться неискаженным /FAsu .

См. также

Использование набора средств MSVC из командной строки