Таким образом, у меня есть некоторый класс, запускающийся с
#include <wchar.h>
#include <stdlib.h>
и существует a wmain
функция.
Как это отличается от основной функции, которую я обычно использую в своих программах C/C++?
«Если ваш код придерживается модели программирования Unicode, вы можете использовать версию main для расширенных символов, которой является wmain».
http://msdn.microsoft.com/en-us/library/aa299386 % 28VS.60% 29.aspx
main( int argc, char *argv[ ], char *envp[ ] )
{
program-statements
}
wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
{
program-statements
}
main является обычной точкой входа в программу в c и c++ и передается в командную строку в виде однобайтовых символов. wmain - это альтернатива, которая используется во многих программах windows для программ с юникодом, где вместо этого командная строка передается в виде широких 16-битных символов юникода.
Я считаю, что это расширение windows для программ с юникодом.
Разница между main
и wmain
заключается в типе, используемом для представления аргументов программы. Функция main
использует обычный char
, а wmain
использует wchar_t
, который может принимать значения юникода