Condividi tramite


Supporto per l'utilizzo di wmain

Visual C++ supporta la definizione di una funzione wmain e consente il passaggio di argomenti wide-character alla tua applicazione Unicode. Si dichiarano parametri formali in wmain, usando un formato simile a main. È quindi possibile passare al programma argomenti a caratteri estesi e, se lo si desidera, un puntatore di ambiente a caratteri estesi. I parametri argv e envp in wmain sono di tipo wchar_t*. Ad esempio:

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

Nota

Le applicazioni Unicode MFC usano wWinMain come punto di ingresso. In questo caso, CWinApp::m_lpCmdLine è una stringa Unicode. Assicurati di impostare wWinMainCRTStartup utilizzando l'opzione linker /ENTRY.

Se il programma usa una funzione main, l'ambiente a caratteri multibyte viene creato dalla libreria run-time all'avvio del programma. Una copia a caratteri estesi dell'ambiente viene creata solo quando è necessario, ad esempio tramite una chiamata alla funzione _wgetenv o _wputenv. Nella prima chiamata a _wputenv, o alla prima chiamata a _wgetenv se esiste già un ambiente MBCS, viene creato un ambiente di stringa a larghezza fissa corrispondente. L'ambiente è quindi indicato dalla variabile globale _wenviron, che è una versione a caratteri ampi della variabile globale _environ. A questo punto, due copie dell'ambiente (MBCS e Unicode) esistono simultaneamente e vengono gestite dal sistema di runtime per tutta la durata del programma.

In modo analogo, se il programma usa una funzione wmain, all'avvio del programma viene creato un ambiente a caratteri wide, a cui fa riferimento la variabile globale _wenviron. Un ambiente MBCS (ASCII) viene creato alla prima chiamata a _putenv o getenv e viene puntato dalla variabile globale _environ.

Vedi anche

Supporto per Unicode
Riepilogo della programmazione Unicode
Funzione WinMain