C Язык: что означает расширение.mm?

Проект с некоторым Objective-C имеет несколько классов C с файлами реализации, имеющими расширение .mm.

file.h
file.mm

Что означает .mm? Разве это не должно быть .m?

Ответ 1

Расширение .mm является расширением для C++ компиляции C++ ожидаемого компилятором Objective-C, а расширение .m является расширением для модуля компиляции C ожидаемого компилятором Objective-C.

Предположим, вы не используете флаг компилятора для переопределения расширения файла, как это сделал этот джентльмен.

Ответ 3

.mm файлы похожи на файлы.cpp на компилятор Objective-C. Они активируют компилятор C++ вместо компилятора C.

Следующий вопрос о производительности имеет дополнительную полезную информацию:

Разница в производительности Objective-C,.m/.mm?