_tmain()是unicode版本的的main()
_tmain這個符號多見於VC++創建的控制檯工程中,這個是爲了保證移植unicode而加入的(一般_t、_T、T()這些東西都和unicode有關係),對於使用非unicode字符集的工程來說,實際上_tmain和main沒有差別(其實就算是使用unicode字符集也未必有多大的差別)。
1. main是C程序的函數,_tmain是main爲了支持unicode所使用的main的別名。
2. _tmain的定義在<tchar.h>可以找到,如#define _tmain main,所以要加#include <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版本函數別名 爲了編譯時能自動轉換字符串編碼。
http://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html