Suporte para usar wmain
O Visual C++ dá suporte à definição de uma função wmain e à passagem de argumentos de caractere largo ao aplicativo Unicode. Você declara parâmetros formais para wmain, usando um formato semelhante a main
. Em seguida, pode passar argumentos de caractere largo e, opcionalmente, um ponteiro de ambiente de caractere largo para o programa. Os parâmetros argv
e envp
de wmain são do tipo wchar_t*
. Por exemplo:
wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
Observação
Os aplicativos Unicode do MFC usam wWinMain
como ponto de entrada. Nesse caso, CWinApp::m_lpCmdLine
é uma cadeia de caracteres Unicode. Defina wWinMainCRTStartup
com a opção de vinculador /ENTRY.
Se seu programa usa uma função main, o ambiente de caractere multibyte é criado pela biblioteca em tempo de execução na inicialização do programa. Uma cópia de caractere amplo do ambiente é criada apenas quando necessário (por exemplo, por uma chamada para as funções _wgetenv
ou _wputenv
). Na primeira chamada para _wputenv
, ou na primeira chamada para _wgetenv
, se já houver um ambiente MBCS, será criado um ambiente de cadeia de caracteres largos correspondente. Em seguida, o ambiente é apontado pela variável global _wenviron
, que é uma versão de caracteres largos da variável global _environ
. Nesse ponto, duas cópias do ambiente (MBCS e Unicode) existirão simultaneamente e serão mantidas pelo sistema em tempo de execução durante todo o clico de vida do programa.
Da mesma forma, se seu programa usar uma função wmain, um ambiente de caractere amplo será criado na inicialização do programa e apontado pela variável global _wenviron
. Um ambiente MBCS (ASCII) é criado na primeira chamada para _putenv
ou getenv
e apontado pela variável global _environ
.
Confira também
Suporte para Unicode
Resumo de programação Unicode
Função WinMain