Использование wmain
Блок, относящийся только к системам Microsoft
В модели программирования Юникода можно определить широкосимвольную версию функции main. Используйте wmain вместо main, если требуется создать переносимый код, который соответствует модели программирования Юникода.
wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
Заметки
Формальные параметры для функции wmain определяются в том же формате, что и для функции main. Затем можно передать в качестве аргументов "широкие" символы и указатель среды кодировки Юникод (необязательно) в программу. Параметры argv и envp функции wmain относятся к типу wchar_t*. Например:
Если программа использует функцию main, среда многобайтовой кодировки создается библиотекой времени выполнения при запуске программы. Копия среды для Юникода создается только при необходимости (например, для вызова функции _wgetenv или _wputenv). При первом вызове _wputenv или _wgetenv, если среда многобайтовой кодировки (MBCS) уже существует, создается соответствующая среда широкосимвольной строки, на которую затем указывает глобальная переменная _wenviron, представляющая собой широкосимвольную версию глобальной переменной _environ. В этот момент две копии среды (для многобайтовой кодировки и Юникода) существуют одновременно и поддерживаются операционной системой в течение всего срока жизни программы.
Аналогичным образом, если программа использует функцию wmain, при запуске программы создается среда Юникода и на нее указывает глобальная переменная _wenviron. Среда многобайтовой кодировки MBCS (ASCII) создается при первом вызове функции _putenv или getenv, и на нее указывает глобальная переменная _environ.
Дополнительные сведения о среде многобайтовой кодировки MBCS см. в разделе Интернационализация в Справочнике по библиотеке времени выполнения.
Завершение блока, относящегося только к системам Microsoft