有一些 Objective-C 的项目有一些 C 类,实现文件有一个 嗯扩展名。
file.h file.mm
嗯是什么意思? 它不应该只是 。 m吗?
. mm 文件与 Objective-C 编译器的. cpp 文件类似。它们激活 C + + 编译器而不是 C 编译器。
以下关于业绩的问题提供了更多有用的信息:
目标-C,. m/. mm 性能差异?
目标 C + + ,混合了 C + + 和目标 C。 Http://en.wikipedia.org/wiki/objective-c#objective-c.2b.2b
扩展 .mm是 Objective-C 编译器期望的 C++编译单元的扩展,而 .m扩展是 Objective-C 编译器期望的 C编译单元的扩展。
.mm
C++
.m
C
前提是不使用编译器标志覆盖文件扩展名 就像这位先生一样。