Partager via


Utilisation de wmain au lieu de main

Section spécifique à Microsoft

Dans le modèle de programmation Unicode, vous pouvez définir une version à caractères larges de la fonction main. Utilisez wmain au lieu de main si vous souhaitez écrire du code portable conforme à la spécification Unicode.

Vous déclarez des paramètres formels à wmain à l'aide d'un format identique à 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*.

Si votre programme utilise une fonction main, l'environnement de caractères multioctets est créé par le système d'exploitation au démarrage du programme. Une copie de l'environnement à caractères larges est créée uniquement lorsqu'elle est nécessaire (par exemple, par un appel aux fonctions _wgetenv ou _wputenv). Au premier appel à _wputenv, ou à _wgetenv si un environnement MBCS existe déjà, un environnement de chaîne à caractères larges correspondant est créé, puis désigné par la variable globale _wenviron, qui est une version à caractères larges de la variable globale _environ. À ce moment-là, deux copies de l'environnement (MBCS et Unicode) existent simultanément et sont conservées par le système d'exploitation pendant toute la vie du programme.

De même, si votre programme utilise une fonction wmain, un environnement MBCS (ASCII) est créé à l'occasion du premier appel à _putenv ou getenv, et désigné par la variable globale _environ.

Pour plus d'informations sur l'environnement MBCS, consultez Jeux de caractères d'octet unique et multioctets dans Référence de la bibliothèque runtime.

Voir aussi

Référence

main : démarrage du programme