Compartilhar via


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