Delen via


wmain gebruiken

Microsoft-specifieke

In het Unicode-programmeermodel kunt u een brede versie van de main functie definiëren. Gebruik wmain in plaats van main als u draagbare code wilt schrijven die voldoet aan het Unicode-programmeermodel.

Net als mainzijn er verschillende beperkingen van toepassing op de wmain functie die niet van toepassing zijn op andere C-functies. De functie wmain doet het volgende:

  • Kan niet worden gedeclareerd als inline.
  • Kan niet worden gedeclareerd als static.
  • Kan het adres niet laten nemen.
  • Kan niet worden aangeroepen vanuit uw programma.

De wmain functiehandtekening

De wmain functie heeft geen declaratie, omdat deze is ingebouwd in de taal. Als dat zo is, ziet de syntaxis van wmain de declaratie er als volgt uit:

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

De wmain functie wordt impliciet gedeclareerd met behulp van een van deze handtekeningen. U kunt een van deze handtekeningen gebruiken wanneer u uw wmain functie definieert. U kunt vervolgens argumenten voor brede tekens doorgeven en eventueel een omgevingspointer voor brede tekens aan het programma meegeven. Met de Microsoft-compiler kan wmain ook een retourtype void worden geretourneerd wanneer er geen waarde wordt geretourneerd. De argv en envp parameters die u wilt wmain opgeven, kunnen ook worden gedefinieerd als type wchar_t**. Zie de beschrijving van het argument voor meer informatie over de argumenten.

De envp omgeving

Als uw programma gebruikmaakt van een main functie, wordt de omgeving met meerdere tekens gemaakt door de runtimebibliotheek bij het opstarten van het programma. Een brede kopie van de omgeving wordt alleen gemaakt wanneer dat nodig is (bijvoorbeeld door een aanroep naar de _wgetenv of _wputenv functies). Bij de eerste aanroep naar of bij de eerste aanroep naar _wputenv_wgetenv als er al een MBCS-omgeving bestaat, wordt er een bijbehorende tekenreeksomgeving met brede tekens gemaakt en vervolgens verwezen naar de _wenviron globale variabele. Dit is een uitgebreide versie van de _environ globale variabele. Op dit moment bestaan twee kopieën van de omgeving (MBCS en Unicode) tegelijkertijd en worden onderhouden door het besturingssysteem gedurende de hele levensduur van het programma.

Als uw programma gebruikmaakt van een wmain functie, wordt er bij het opstarten van het programma een omgeving gemaakt die wordt verwezen naar de _wenviron globale variabele. Er wordt een MBCS-omgeving (ASCII) gemaakt bij de eerste aanroep naar _putenv of getenv, en wordt verwezen naar de _environ globale variabele.

Zie Internationalisatie voor meer informatie over de MBCS-omgeving.

Microsoft-specifieke beëindigen

Zie ook

main uitvoering van functies en programma's