为什么Objective-C文件使用.m扩展名?


204

自从我开始学习Objective-C和Cocoa以来,我一直想知道为什么他们为实现文件选择了扩展名.m-应该是什么意思,还是只是一个随机字母?


12
这对EM plementation。
dreamlax

2
我想这困扰着其他人,因此他们做了一些研究,发现与.m扩展背后的含义相反的证据。最终,它代表消息。对于全读:pempek.net/blog/2013/11/30/objective-c-file-extension/...
约翰Riselvato

.m文件就是您所说的实现文件。知苹果喜欢前缀一切与i它很容易地看到, mplementation成为mplementation没有说i。然后,他们仅使用文件扩展名的首个字母m
丹尼尔(Daniel)

Answers:


465

今天,大多数人将它们称为“方法文件”,但是

“包括.m的最初代表” essages“时Objective-C的首次引入,参照目标C的核心特征[...]”

(摘自Mark Dalrymple和Scott Knaster 的书“ 在Mac上学习Objective-C ”,第9页)

编辑:为了满足自己的需求,我就此问题通过电子邮件发送给了Objective-C的发明者布拉德·考克斯Brad Cox),他用以下单行回答了:

“因为使用了.o和.c。就这么简单。”

这是电子邮件的视觉证明:

视觉证明


115
您费心向Brad Cox发送电子邮件以进行查找!你真棒,真棒。
Chironex

15
听起来他在开玩笑。如果使用o和c,为什么选择m而不选择其他可用字母?尽管我认为这是一个有趣的回答,但我也很难相信它只是从帽子里拉出来的,而且他在选择m时没有使用任何逻辑。
典型的

2
我同意他可能是在开玩笑,但可能有些吐舌。.m可能用于方法或消息传递,但也仅因为已使用.o和.c而使用。
bigtunacan

10
我希望布拉德实际上回答了这个问题,而不是仅仅解释了为什么不使用.o和.c的原因。至少它确实对答案的一个方面有所
启发

1
@INTPnerd他或多或少地回答了它。这在我看来,“.M”被选为第一个出来,需要比“的.o”或“.C”和第二,因为它可以被理解为任何/所有的其他东西编制方法, essages,我中号实现。
Slipp D. Thompson



-3

大胆猜测:1983年ObjectC随第一台Macintosh计算机一起推出。因此,它可能是macintosh中的m或方法中的m甚至是两者。


4
Objective-C最初与Macintosh无关。此外,正确答案已经在多年前发布。
约翰·哈林
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.