Tmain () Miért a neve a verem túlcsordulás az orosz

A nem Unicode programok, használja a megfelelő szabvány nevet és egy listát a főbb paraméterek int argc, char * argv [].

Unicode-programok, a paraméterek listáját az MSVC külleme int argc, wchar_t * argv []. és hogy elkerüljék konfliktusok a forrás fordítóprogram és megfelelő standard funkciót nevezik wmain.

Olyan programok, amelyek lehet összeállítani és Unicode-, nem Unicode üzemmódban argumentumlista külleme int argc, _TCHAR * argv []. ahol makro _TCHAR definiált char vagy wchar_t értékétől függően _UNICODE makro. Ezért szükséges a harmadik nevet a funkciót. És ez alkotta a név _tmain.

Mindez természetesen igényel némi mágikus építő, aki képesnek kell lennie arra, hogy meghatározza a belépési pont nem csak a fő funkciója. , mint a standard, és az wmain / _tmain funkciót.

Ha biztos vagy benne, hogy nem kell az Unicode-alapú alkalmazás akkor nevezd át a fő funkciója, és adja meg a argumentumlistában int argc, char * argv []. hogy megfeleljen a szabványnak. Vagy ha szilárdan úgy dönt, hogy a program fut, csak a vonal WinNT / XP / 7 (ahelyett Win95 / 98), akkor marad a Unicode-változat, és nevezze át a funkciót wmain (illetve a gyelembe kell int argc, wchar_t * argv []).

Megkésett frissítés (hála @alexolut): szerint a dokumentációt. _tmain meghatározva használva typedef fő vagy wmain. úgy, hogy a program még egy fő. vagy wmain.

(És igen, akkor kihagyja paramétereket, vagy adjunk hozzá egy harmadik paraméter envp. Vagy nyilvánítsa érvénytelennek visszatérési típus.)

Kapcsolódó cikkek