1. 程式人生 > >wmain 、_tmain()和main()區別

wmain 、_tmain()和main()區別

語言 dos 16bit 函數 argv clu main 找到 ron

_tmain()是unicode版本的的main()

_tmain這個符號多見於VC++創建的控制臺工程中,這個是為了保證移植unicode而加入的(一般_t、_T、T()這些東西都和unicode有關系),對於使用非unicode字符集的工程來說,實際上和main沒有差別(其實就算是使用unicode字符集也未必有多大的差別)。

1。 main是C程序的函數,_tmainmain為了支持unicode所使用的main的別名
2。 _tmain的定義在<tchar.h>可以找到,如#define _tmain main,所以要加#i nclude <tchar.h>才能用。

3。因此_tmain

compile後仍為main,所以都可以執行

另外,wmain也是main的另一個別名,是為了支持二個字節的語言環境

//

//---------------------------------------------------------------------------------------------------------

//

/* Program */

#define _tmain main
#define _tWinMain WinMain
#ifdef _POSIX_
#define _tenviron environ
#else
#define _tenviron _environ
#endif
#define __targv __argv
在 tchar.H 文件中定義的 _tmain只是一個宏。

//

//

//

1) main是c/c++的標準入口函數名
2) winmain是windows api窗體程序的入口函數(int winapi winmain()中winapi是__stdcall的宏 在windows.h中定義)
3) _tmain _twinmain是unicode版本函數別名 為了編譯時能自動轉換字符串編碼
**********************************************************************************

**********************************************************************************

1.main是C程序的函數,_tmain是main為了支持unicode所使用的main的別名

2._tmain的定義在<tchar.h>可以找到,如#define _tmain main,所以要加#include <tchar.h>才能用。 _tmain()是個宏,如果是UNICODE則他是wmain()否則他是main()

3.因此_tmain compile後仍為main,所以都可以執行
**********************************************************************************

**********************************************************************************

1) main()是WINDOWS的控制臺程序(32BIT)或DOS程序(16BIT),
2) WinMain()是WINDOWS的GUI程序,
wmain()是UNICODE版本的main(),
3)_tmain()是個宏,如果是UNICODE則他是wmain()否則他是main()
外,wmain也是main的另一個別名,是為了支持二個字節的語言環境

wmain 、_tmain()和main()區別