Was ist das M-Dateiformat?
.m ist ein Nur-Text-Dateiformat zur Speicherung von Quellcode, der in der Programmiersprache Objective-C geschrieben wurde. Eine eng verwandte Erweiterung, .mm, unterstützt Objective-C gemischt mit C++ (Objective-C++). .m-Dateien finden sich häufig auf Mac- oder Windows-Rechnern, die für die Entwicklung von macOS- und iOS-Anwendungen verwendet werden. Jede .m-Implementierungsdatei bildet ein Paar mit einem zugehörigen .h-Header desselben Basisnamens, der die Deklarationen der Klassenschnittstelle enthält.
Objective-C ist eine Programmiersprache, die die Sprache C um objektorientierte Funktionen erweitert. Objective-C nutzt die Frameworks Cocoa und Cocoa Touch und wird hauptsächlich zum Schreiben von Apps für Apple-Geräte verwendet. Im Gegensatz zu C++ ist Objective-C eine strikte Obermenge von ANSI C. Eine .m-Datei beginnt typischerweise mit #import-Direktiven (z. B. #import <Foundation/Foundation.h>) und enthält @implementation ... @end-Blöcke, die die Methoden einer Klasse definieren. Seit 2011 automatisiert Automatic Reference Counting (ARC) die Speicherverwaltung, wodurch manuelle retain- und release-Aufrufe entfallen. .m-Dateien werden von clang innerhalb von Xcode kompiliert. Seit Apple 2014 Swift eingeführt hat, ist Objective-C nicht mehr der Standard für neue Projekte, aber .m-Dateien bleiben in bestehenden Codebasen und bei gemischter Swift/Objective-C-Arbeit weit verbreitet.
Sicherheit
RISIKO: LOWEine .m-Datei ist reiner Quellcode - sie tut nichts, bis sie kompiliert und ausgeführt wird, daher ist die Datei selbst risikoarm. Es gelten die üblichen Vorsichtsmaßnahmen für Quellcode: Lesen Sie ihn, bevor Sie ihn erstellen, da das Kompilieren und Ausführen von unbekanntem Code alles tun kann, was dem resultierenden Programm erlaubt ist, und Quellcode aus nicht vertrauenswürdigen Repositories bösartige Logik verbergen kann. Es gibt keinen Makro- oder automatischen Ausführungsmechanismus in einer .m-Datei durch bloßes Öffnen in einem Editor. (Sollte sich die .m-Datei als MATLAB statt Objective-C herausstellen, gilt derselbe Rat - führen Sie keine nicht vertrauenswürdigen Skripte aus.)
Formatdetails
kurz gefasst- MATLAB-Skript / Funktionsdatei (.m) - Nur-Text-MATLAB-Code - Skripte und Funktionen für MathWorks MATLAB/Octave; die am weitesten verbreitete .m-Datei im wissenschaftlichen/technischen Bereich, eine völlig andere Sprache.
- Wolfram Mathematica Paket (.m) - Eine Wolfram Language Paket-/Quelldatei (auch als .wl zu finden), die Definitionen enthält und von Mathematica geöffnet wird.
- Maple Input / .m Bibliotheksdatei - Maple verwendet .m für seine internen (oft binären) Bibliotheks-/Speicherdateien und Maple-Input-Code.
Programme zum Öffnen von M-Dateien
Technische Details
technische Spezifikation| Dateityp | Nur-Text-Quellcode (keine binäre Komponente) |
| MIME-Typ | text/x-objcsrc (auch als text/plain akzeptiert) |
| Zeichenkodierung | UTF-8 oder ASCII-kompatibel; historisch auch Mac Roman oder Latin-1 |
| Dateisignatur (Magic Bytes) | Keine - wird nur über die Erweiterung .m identifiziert; Nur-Text ohne binären Header |
| Typische Dateistruktur | #import-Direktiven gefolgt von einem oder mehreren @implementation ... @end-Blöcken |
| Zugehörige Header-Datei | .h-Datei desselben Basisnamens enthält die Klassenschnittstelle (@interface ... @end) |
| Wichtige Syntax-Token | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Compiler | clang (LLVM); historisch gcc, bevor Apple 2012 wechselte |
| Speicherverwaltungsmodell | Manual Reference Counting (MRC) oder Automatic Reference Counting (ARC, seit Xcode 4.2 / 2011) |
| Zugehörige Frameworks | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Typische Dateigröße | Einige hundert Bytes bis zu mehreren hundert KB Quelltext |
| Objective-C++ Variante | .mm-Erweiterung wird verwendet, wenn Objective-C-Code mit C++ interagieren muss |
| Zugehörige Plattformen | macOS, iOS, iPadOS (primär); GNUstep ermöglicht die Nutzung auf Linux und Windows |
| IDE und Build-Tools | Apple Xcode (primäre IDE); clang und xcodebuild werden auch über die Befehlszeile verwendet |
| Veröffentlicht | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Neueste Version | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | developer.apple.com |
M-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu M-Dateien.