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


Поддержка использования wmain

Visual C++ поддерживает определение функции wmain и передачу "широких" символов в качестве аргументов в приложение, представленное в формате Юникода. Формальные параметры для функции wmain определяются в формате, аналогичном функции main. Затем можно передать в качестве аргументов "широкие" символы и указатель среды кодировки Юникод (необязательно) в программу. Параметры argv и envp функции wmain относятся к типу wchar_t*. Пример:

wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )

Примечание

В приложениях MFC с кодировкой Юникод в качестве точки входа используется wWinMain.В этом случае CWinApp::m_lpCmdLine является строкой Юникода.Убедитесь, что параметр компилятора /ENTRY установлен в значение wWinMainCRTStartup.

Если программа использует функцию main, среда многобайтовой кодировки создается библиотекой времени выполнения при запуске программы. Копия среды для Юникода создается только при необходимости (например, для вызова функции _wgetenv или _wputenv). При первом вызове функции _wputenv или _wgetenv, если среда многобайтовой кодировки уже существует, создается среда для поддержки строк Юникода. На эту среду впоследствии указывает глобальная переменная _wenviron, которая является версией глобальной переменной _environ в формате Юникода. В этот момент две копии среды (для многобайтовой кодировки и Юникода) существуют одновременно и поддерживаются системой времени выполнения в течение всего срока жизни программы.

Аналогичным образом, если программа использует функцию wmain, при запуске программы создается среда Юникода и на нее указывает глобальная переменная _wenviron. Среда многобайтовой кодировки (ASCII) создается при первом вызове функции _putenv или getenv, и на нее указывает глобальная переменная _environ.

См. также

Ссылки

Функция WinMain

Основные понятия

Поддержка Юникода

Общие сведения о программировании Юникода