C Language: what does the .mm extension stand for?
.mm is the extension for the
C++ compilation unit expected by the Objective-C compiler, while the
.m extension is the extension for the
C compilation unit expected by the Objective-C compiler.
That's assuming you don't use a compiler flag to override the file extension, as this gentleman has done.
Objective C++, mixes C++ and Objective C. http://en.wikipedia.org/wiki/Objective-C#Objective-C.2B.2B
.mm files are like .cpp files to the Objective-C compiler. They activate the C++ compiler instead of the C compiler.
The following question on performance has additional useful information:
Objective-C, .m / .mm performance difference?