為什麼有些c++語言用int main(void)
有些用int tmain(int argc,TCHAR*ARGV[])
有什麼差異呢???
2006-06-27 10:55:47 · 1 個解答 · 發問者 Joyce 2 in 電腦與網際網路 ➔ 程式設計
你的問題分兩部分來回答1) 為什麼有的引數欄位是 void,有的是 int argc.... 這樣?一般來說 main 函數系統預設是會給它三個參數(不過通常只會用到兩個,所以一般人只會宣告 argc 和 argv 兩個)int main(int argc, char *argv[])所以上面這樣打上引數是標準的宣告,但是有時候你寫的程式用不到這些引數所以 compiler 允許你簡寫成 int main() 或是 int main(void)表示不去處理這些系統傳來的參數2) 為什麼有的是用 main,有的是用 tmain這個問題要從文字的 ANSI 編碼和 Unicode 編碼說起這部份你可能要去翻書或是去 Google 查一下會比較清楚簡單地來說,C/C++ 有兩種字元變數,一種是 char,另一種是 WCHARchar 是一般用來存 ANSI 編碼的,WCHAR 是另一種用來存 Unicode 的而 TCHAR 是一個通用的格式,當你沒有特別指定時TCHAR 會被 define 成 char,也就是寫 TCHAR 和 char 的效果一樣當你有特別指定(比方說 #define UNICODE 時)TCHAR 會被 define 成 WCHAR這樣你就可以在不動到大部份的程式碼的情況下變更你的程式中文字處理的編碼回來說 tmain,它也是一樣的會分別被 define 至 main 和 wmain 兩種 main 函式而這兩種的差異在於,他的第二個引數會使用 char 還是 WCHAR總之,在你沒有特別指定編碼的情況下寫 int tmain(int argc, TCHAR *ARGV[])和寫 int main(int argc, char *ARGV[])的效果是一模一樣的
2006-06-27 16:23:29 · answer #1 · answered by Luke 4 · 0⤊ 0⤋