Compartir a través de


Compatibilidad con el uso de wmain

Visual C++ es compatible con la definición de una función wmain y el paso de argumentos de caracteres anchos a la aplicación Unicode. Se pueden declarar parámetros formales para wmain con un formato parecido a main. A continuación, se pueden pasar al programa argumentos de caracteres anchos y, opcionalmente, un puntero a entorno de caracteres anchos. Los parámetros argv y envp de wmain son del tipo wchar_t*. Por ejemplo:

wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )

Nota:

Las aplicaciones Unicode de MFC usan wWinMain como punto de entrada. En este caso, CWinApp::m_lpCmdLine es una cadena Unicode. Asegúrese de establecer wWinMainCRTStartup con la opción del enlazador /ENTRY.

Si el programa utiliza una función main, el entorno de caracteres multibyte lo crea la biblioteca en tiempo de ejecución durante el inicio del programa. Se crea una copia de caracteres anchos del entorno sólo si es necesario (por ejemplo, por una llamada a las funciones _wgetenv o _wputenv). En la primera llamada a _wputenv, o en la primera llamada a _wgetenv si ya existe un entorno (MBCS), se crea un entorno de cadenas de caracteres anchos correspondiente. A continuación, la variable global a _wenviron apunta al entorno, que es una versión en caracteres anchos de la variable global _environ. En ese momento existen dos copias del entorno (MBCS y Unicode) simultáneamente que el sistema del tiempo de ejecución mantiene a lo largo de la vigencia del programa.

De forma similar, si el programa utiliza una función wmain, se crea un entorno de caracteres anchos durante el inicio del programa y la variable global _wenviron apunta a dicho entorno. En la primera llamada a _putenv o getenv se crea un entorno MBCS (ASCII) y la variable global _environ apunta a dicho entorno.

Consulte también

Compatibilidad con Unicode
Resumen de la programación con Unicode
Función WinMain