2012-05-04 11 views
11

In Visual C++ 2008 Express, quando creo un nuovo progetto di console ricevo il seguente programma di iniziare con:_tmain intesa in Visual C++ console proietta

//Explodey.cpp : Defines the entry point for the console application. 

// 

#include "stdafx.h" 

int _tmain(int argc,_TCHAR* argv[]) 
{ 
    return 0; 
} 

ho un paio di domande su di esso:

  • Perché la funzione principale _tmain anziché main?

  • Avrei pensato che il parametro argv avrebbe dovuto essere char* argv[] anziché _TCHAR.

  • Che cos'è stdafx.h?

Questo non sembra proprio lo stesso C++ a cui sono abituato.

+0

possibile duplicato di [? Qual è la differenza tra _tmain() e main() in C++] (http://stackoverflow.com/questions/895827/what-is-the- differenza-tra-tmain-e-main-in-c) –

+0

Vero, ma al momento della pubblicazione, non sapevo nemmeno che main() era una funzione principale legale in Visual C++. – Whovian

+0

Capisco. Sto solo cercando di aiutare il prossimo programmatore che arriva con una domanda simile. Le risposte nell'altra domanda sono un po 'più complete. –

risposta

3

Date un'occhiata qui per tmain ... ecc

What is the difference between _tmain() and main() in C++?

stdafx.h è un'intestazione precompilata (opzionale) per le applicazioni Windows. Maggiori informazioni qui:

http://en.wikipedia.org/wiki/Precompiled_header

+1

Se si rimuove l'intestazione precompilata, è necessario modificare anche le impostazioni del progetto in "Intestazioni precompilate" o si otterranno errori di compilazione. –

+0

Grazie per il tuo aiuto! – Whovian