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


Поддержка использования 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 это строка Юникода. Не забудьте задать параметр wWinMainCRTStartupкомпоновщика /ENTRY .

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

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

См. также

Поддержка Юникода
Общие сведения о программировании Юникода
Функция WinMain