Sono nuovo alla codifica C++, proveniente da Java e C#. Sono perplesso dalla proliferazione di termini #define a partire dal più semplice:Perché esiste una macro che definisce _tmain?
#define _tmain wmain
Quando ho imparato un'infarinatura di C secoli fa, la funzione principale era:
int main(int argc, char *argv[])
In Visual C++ progetto che ho creato, ha fatto la funzione principale:
int _tmain(int argc, _TCHAR* argv[])
sto solo chiedendo perché ci doveva essere una traduzione nome da wmain
a _tmain
? Perché non utilizzare solo il prototipo di funzione C main
originale?
In generale sembra che ci sia molta #define rinominando qualcosa che sembra piuttosto chiaro per cominciare, a qualcosa che sembra più misterioso e meno chiaro (mi riferisco a wmain
_tmain
??).
Grazie per aver tollerato quella che potrebbe essere una domanda molto ovvia.
Questo è roba specifico di Windows, non ha nulla a che fare con Standard C++ (né C). Loro (in Microsoft) hanno una brutta abitudine di orribili schemi di denominazione e complicano le cose inutilmente. –
C'era una volta, qualcuno pensava che fosse una buona idea aiutare le persone a migrare da vecchie versioni di Windows usando char a newer una volta usando wchar_t. Non lo era, e ora confonde le persone! –
Correlati: http://stackoverflow.com/questions/234365/is-tchar-still-relevant – dan04