2012-04-26 7 views
33

Un progetto con qualche Objective-C ha alcune classi C con i file di implementazione con estensione .mm.C Lingua: cosa significa estensione .mm?

file.h 
file.mm 

Che cosa significa il .mm significa? Non dovrebbe essere solo .m?

+0

http://philjordan.eu/article/strategies-for-using-c++-in-objective-c-projects –

risposta

40

L'estensione .mm è l'estensione per l'unità C++ di compilazione previsto dal compilatore Objective-C, mentre l'estensione .m è l'estensione per l'unità di compilazione C prevista dall'Objective-C compilatore.

Supponendo che non si utilizzi un flag del compilatore per sovrascrivere l'estensione del file, as this gentleman has done.

12

. I file .mm sono come file .cpp nel compilatore Objective-C. Attivano il compilatore C++ al posto del compilatore C.

La seguente domanda sulle prestazioni contiene ulteriori informazioni utili:

Objective-C, .m/.mm performance difference?