C 语言: . mm 扩展名代表什么?

有一些 Objective-C 的项目有一些 C 类,实现文件有一个 扩展名。

file.h
file.mm

是什么意思? 它不应该只是 。 m吗?

53427 次浏览

. 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编译单元的扩展。

前提是不使用编译器标志覆盖文件扩展名 就像这位先生一样