Поделиться через


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

В данном разделе рассматривается поддержка Юникода в инструментах построения Visual C++.

  • Имена файлов
    Имена файлов, указываемые в командной строке и директивах компилятора (например, #include), теперь могут содержать символы Юникода. В предыдущих версиях Visual C++ поддерживались имена файлов только в формате ANSI. В именах выходных файлов следует избегать символов, не входящих в набор ASCII, чтобы обеспечить возможность запуска исполняемых файлов на локализованных версиях ОС Windows 98 и Windows Me.

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

    Символы Юникода могут вводиться в файлы исходного кода в следующих кодировках.

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

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

    • UTF-8 с отметкой порядка байтов

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

  • DEF-файлы и файлы отклика компоновщика
    Файлы отклика и DEF-файлы могут иметь либо кодировку UTF-16 с отметкой порядка байтов, либо кодировку ANSI. Ранее поддерживалась только кодировка ANSI.

  • Файлы дампа ASM и COD
    Файлы дампа COD и ASM по умолчанию имеют кодировку ANSI в целях совместимости с MASM. Для вывода в кодировке UTF-8 используйте параметр /FAu. Обратите внимание, что при указании параметра /FAs смешанный источник будет печататься напрямую и выводиться в искаженном виде. Например, если исходный код имеет кодировку UTF-8, а параметр /FAsu не указан.

Имена файлов в Юникоде можно включить в среде разработки (Открытие свойств страниц проекта), выбрав соответствующий инструмент и затем выбрав свойство Использовать Юникод файлы ответа, которое включено по умолчанию. Одной из причин, по которой может понадобиться изменить данную настройку по умолчанию, является необходимость в настройке среды разработки на использование компилятора, не поддерживающего формат Юникода.

См. также

Другие ресурсы

Построение из командной строки