Condividi tramite


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 _wputenvo 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