Seit ich Objective C und Cocoa gelernt habe, habe ich mich gefragt, warum sie die Erweiterung .m für die Implementierungsdateien gewählt haben - sollte das etwas bedeuten oder war es nur ein zufälliger Buchstabe? Weiß jemand? Ich konnte solche Informationen nirgendwo auf Google finden ...Warum verwenden Objective-C-Dateien die Erweiterung .m?
Antwort
Heute würden die meisten Menschen sie als „Methode Dateien“ beziehen, aber
„Die .m Erweiterung stand ursprünglich für “ m essages“, wenn Objective-C zuerst eingeführt wurde, zu beziehen ein zentrales Merkmal von Objective-C [...]“
(aus dem Buch "Learn Objective-C on the Mac" von Mark Dalrymple und Scott Knaster, Seite 9)
EDIT: einen Juckreiz erfüllen ich Brad Cox per E-Mail, den Erfinder von Objective-C, über die Frage und antwortete er mit dieser einzigen Zeile:
„Weil .o und .c wurden genommen. . Einfach wie“
Hier ist die E-Mail als visueller Beweis:
Schöne Anfrage, danke fürs Teilen. – ybakos
Sie haben Brad Cox um eine E-Mail gebeten, um es herauszufinden! Du tolle, tolle Person. – Chironex
Hört sich an, als hätte er einen Witz gemacht. Wenn o und c genommen wurden, warum m und kein anderer verfügbarer Brief? Während ich denke, dass es eine lustige Antwort ist, finde ich es auch schwer zu glauben, dass es einfach von einem Hut gezogen wurde und er keine Logik verwendete, um m zu wählen. – prototypical
.m-Dateien enthalten die (m) ethods. Möglicher Grund?
m-Dateien könnten enthalten (M) Höhe von Kommentare auch! go figure :) – NeverStopLearning
Es steht für "Methoden" Vom comp.lang.objective-C FAQ.
Die Organisation der objektiv- C-Quelle ist in der Regel ähnlich der von C oder C++ Quellcode, mit Deklarationen und Objekt-Schnittstellen gehen in Header Dateien mit Namen a .h-Erweiterung und Definitionen und Objektimplementierungen in Dateien, die mit einer .m (kurz für Methoden) Erweiterung benannt sind.
Wilde Vermutung: 1983 wurde ObjectC zusammen mit dem ersten Macintosh Computer eingeführt .... Also könnte es m wie in Macintosh oder M in Methoden oder sogar beides sein.
Objective-C hatte ursprünglich nichts mit dem Macintosh zu tun. Außerdem wurde die richtige Antwort bereits vor Jahren veröffentlicht. –
- 1. Warum kann ich die Verknüpfung t 1: m in beiden Tabellen nicht verwenden, um eine m: m-Verknüpfung zu bilden?
- 2. Warum importieren Sie die .m-Datei?
- 3. Warum Flask-Erweiterung, nicht nur die nackte Bibliothek verwenden?
- 4. Warum CLFLUSH Bedürfnisse + m konstant
- 5. Muss ich die Erweiterung ninject.mvc noch verwenden?
- 6. Warum gibt m [1] - m [0] 3 zurück, wobei m eine 3x3-Matrix ist?
- 7. Emacs: Warum markiert die Tastatur mit M-S- [Buchstabe] Zeichen?
- 8. Warum ist die Laufzeit dieses Algorithmus O (m + n)?
- 9. So verwenden Sie die freie Monade mit Future [M [_]]
- 10. Verwenden der Mercurial-Erweiterung
- 11. Warum funktioniert diese Tastatur, die die Kernel-Erweiterung abfängt, nicht?
- 12. Objective-C, .m/.mm Leistungsunterschied?
- 13. Verwenden FürJeden Erweiterung in Razor
- 14. {<M> | M TM, die 3 Wörter akzeptieren} (| L (M) | = 3)
- 15. Warum verwenden wir die Erweiterung .class nicht mit dem Befehl "java"?
- 16. Wie chrome.alarms für Google Chrome-Erweiterung verwenden
- 17. Warum enthält die m = Zeile in sdp einen Port? Ist das nicht redundant mit Kandidaten?
- 18. C++ Kommentar Stil:/* M ... M * /, was 'M' steht?
- 19. Warum: t foldMap id Ausbeute tm -> m, und nicht ta -> m
- 20. Kann ich die Vue-Erweiterung beim Entwickeln einer Chrome-Erweiterung im Vue CSP-Modus verwenden?
- 21. Wie M-M-Beziehung mit differnce Variation
- 22. Warum verwenden mehrere OpenGL-Kontext
- 23. Wie kann ich die Permissionsdispatcher-Bibliothek für die neuen Android M-Laufzeitberechtigungen verwenden?
- 24. Erweiterung Methode, die
- 25. @ Html.EditorFor (m => m) Lambda-Syntax in MVC
- 26. Warum die Einschränkung "Eq" hinzufügen, ohne "==" zu verwenden?
- 27. C Sprache: Wofür steht die Erweiterung .mm?
- 28. Warum funktioniert diese Basistyp-Erweiterung nicht?
- 29. warum STL-Header-Dateien keine Erweiterung haben?
- 30. Warum benötigt OCaml manchmal eine Erweiterung?
Es ist für die * em * plementierung. – dreamlax
Ich schätze, das störte jemand anderes, so dass sie ein wenig Nachforschungen anstellten, um widersprüchliche Beweise für die Bedeutung von .m extension zu finden. Letztendlich steht es für Nachrichten. Zum vollständigen lesen: http://pempek.net/blog/2013/11/30/objective-c-file-extension/&utm_medium=email&utm_source=iOS%2BDev%2BWeekly –