我是C++編程新手,來自Java和C#背景。我被#定義術語的增殖不解先從最基礎的:爲什麼有一個定義_tmain的宏?
#define _tmain wmain
當我第一次學會了C時代的一知半解以前,主要功能是:
int main(int argc, char *argv[])
在Visual C++項目我創建的,它提出的主要功能:
int _tmain(int argc, _TCHAR* argv[])
我只是想知道爲什麼是一個名稱的翻譯從wmain
到_tmain
需要的?爲什麼不使用原始的C main
函數原型?
一般來說,似乎有很多#define重命名的東西,看起來很清楚開始,看起來更神祕和不太清楚的東西(我的意思是wmain
到_tmain
??)。
感謝您容忍可能是一個非常明顯的問題。
這是Windows特有的東西,它與標準C++(也不是C)無關。他們(微軟)有一個可怕的命名方案的壞習慣,並且不必要地使事情複雜化。 – 2011-02-08 18:51:27
曾幾何時,有人認爲這是一個很好的主意,可以幫助人們使用wchar_t將舊版本的Windows版本從char更新爲新版本。它不是,現在它只是混淆了人們! – 2011-02-08 23:13:44
相關:http://stackoverflow.com/questions/234365/is-tchar-still-relevant – dan04 2011-02-10 05:20:21