Megosztás:


Az wmain használata

Microsoft-specifikus

A Unicode programozási modellben definiálhatja a main függvény széles karakterű verzióját. Használja wmain ahelyett main , hogy olyan hordozható kódot szeretne írni, amely megfelel a Unicode programozási modellnek.

Ehhez hasonlóan mainszámos korlátozás vonatkozik a wmain függvényre, amelyek nem vonatkoznak más C függvényekre. A wmain függvény:

  • Nem deklarálható .inline
  • Nem deklarálható .static
  • Nem lehet a címét venni.
  • Nem hívható meg a programból.

A wmain függvény aláírása

A wmain függvény nem rendelkezik deklarációval, mert be van építve a nyelvbe. Ha igen, a deklaráció szintaxisa wmain a következőképpen nézne ki:

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

A wmain függvény implicit módon deklarálva van ezen aláírások egyikével. A függvény definiálásakor bármelyik aláírást használhatja wmain . Ezután széles karakterű argumentumokat adhat át, és igény szerint széles karakterű környezet mutatót is adhat a programhoz. A Microsoft fordítója azt is lehetővé teszi wmain , hogy olyan típusú visszatérési void típust adjon vissza, amikor nem ad vissza értéket. A argv definiálandó wmain paraméterek és envp paraméterek típusként wchar_t**is meghatározhatók. Az argumentumokról további információt az Argumentum leírása című témakörben talál.

A envp környezet

Ha a program függvényt main használ, a többbájtos környezetet a futásidejű kódtár hozza létre a program indításakor. A környezet széles karakterű másolata csak szükség esetén készül el (például a _wgetenv vagy _wputenv függvények hívásával). Az MBCS-környezet első hívásán _wputenvvagy első hívásán _wgetenv létrejön egy megfelelő széles karakterű sztringkörnyezet, amelyre a globális változó széles karakterű verziója _environ mutat_wenviron. Ezen a ponton a környezet két példánya (MBCS és Unicode) egyidejűleg létezik, és az operációs rendszer a program teljes élettartama alatt fenntartja.

Hasonlóképpen, ha a program függvényt wmain használ, a program indításakor széles karakterű környezet jön létre, amelyre a _wenviron globális változó mutat. Az MBCS (ASCII) környezet az első híváskor _putenvgetenvjön létre, és erre a _environ globális változó mutat rá.

Az MBCS-környezettel kapcsolatos további információkért lásd: Internationalization.

END Microsoft-specifikus kifejezés

Lásd még

main függvény és program végrehajtása