Partager via


Prise en charge de l'utilisation de wmain

Visual C++ prend en charge la définition d’une fonction wmain et le passage d’arguments de caractères larges à votre application Unicode. Vous déclarez des paramètres formels à wmain, à l’aide d’un format similaire à main. Vous pouvez ensuite passer des arguments à caractère élargi et éventuellement un pointeur d’environnement à caractère élargi au programme. Les paramètres argv et envp de la fonction wmain sont de type wchar_t*. Par exemple :

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

Remarque

Les applications Unicode MFC sont utilisées wWinMain comme point d’entrée. Dans ce cas, CWinApp::m_lpCmdLine est une chaîne Unicode. Veillez à définir wWinMainCRTStartup avec l’option /ENTRY Linker.

Si votre programme utilise une fonction main, l'environnement de caractère multioctets est créé par la bibliothèque Runtime au démarrage du programme. Une copie de l'environnement à caractère élargi est créée uniquement lorsqu'elle est nécessaire (par exemple, par un appel des fonctions _wgetenv ou _wputenv). Lors du premier appel à _wputenv, ou lors du premier appel à _wgetenv si un environnement Mo CS existe déjà, un environnement de chaîne à caractères larges correspondant est créé. L’environnement est ensuite pointé par la _wenviron variable globale, qui est une version à caractères larges de la _environ variable globale. À ce stade, deux copies de l’environnement (Mo CS et Unicode) existent simultanément et sont conservées par le système d’exécution tout au long de la durée de vie du programme.

De même, si votre programme utilise une fonction wmain, un environnement à caractère élargi est créé au moment du démarrage et une variable globale _wenviron pointe vers cet environnement. Un environnement Mo CS (ASCII) est créé lors du premier appel vers _putenv ou getenv vers lequel pointe la _environ variable globale.

Voir aussi

Prise en charge pour Unicode
Synthèse de la programmation Unicode
Fonction WinMain