1. 程式人生 > >C筆記A01 _tmain() 和 main() 的區別,

C筆記A01 _tmain() 和 main() 的區別,

c++ 編譯器 tro ron 編譯速度 class 字符 nap har

最近開始用VS寫程序,創建了一個C++控制臺程序,發現和以前的裸機C還是有很大的區別

_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的另一個別名,是為了支持二個字節的語言環境

其中Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。

也就是說 tmian()對各種字符處理更好
就不會燙燙燙燙了、、、2333


stdio.h是庫中的頭文件,stdafx.h是自定義頭文件,似乎vc裏面似乎 庫中的頭文件如stdio.h放在stdafx.h中。CPP文件必須包加stdafx.h。實際效果是一樣的。只是當你工程有多個CPP的時候,每個CPP都加stdio.h的話,編譯器會重復處理幾次,降低了編譯速度。所以將所有CPP用到的頭文件都放在stdafx.h中,這樣重復的處理一次,加快了編譯速度。

C筆記A01 _tmain() 和 main() 的區別,