Supporto per l'utilizzo di wmain
Visual C++ supporta la definizione di una funzione wmain e il passaggio di argomenti wide-character all'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. Assicurarsi di impostare wWinMainCRTStartup
con l'opzione /ENTRY linker.
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 di caratteri wide corrispondente. L'ambiente viene quindi indicato dalla _wenviron
variabile globale, ovvero una versione a caratteri wide della _environ
variabile globale. 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 nella prima chiamata a _putenv
o getenv
e punta alla _environ
variabile globale.
Vedi anche
Supporto per Unicode
Riepilogo della programmazione Unicode
Funzione WinMain