Поддержка использования 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.