Vad är filformatet M?
.m är ett textbaserat filformat som används för att lagra källkod skriven i programmeringsspråket Objective-C. En nära besläktad filändelse, .mm, stöder Objective-C blandat med C++ (Objective-C++). .m-filer finns vanligtvis på Mac- eller Windows-maskiner som används för att utveckla macOS- och iOS-applikationer. Varje .m-implementeringsfil paras ihop med en tillhörande .h-headerfil med samma basnamn, vilken innehåller klassens gränssnittsdeklarationer.
Objective-C är ett programmeringsspråk som lägger till objektorienterade funktioner till språket C. Objective-C använder ramverken Cocoa och Cocoa Touch och används främst för att skriva appar för Apple-enheter. Till skillnad från C++ är Objective-C en strikt övermängd av ANSI C. En .m-fil börjar vanligtvis med #import-direktiv (t.ex. #import <Foundation/Foundation.h>) och innehåller @implementation ... @end-block som definierar en klass metoder. Sedan 2011 automatiserar Automatic Reference Counting (ARC) minneshanteringen, vilket tar bort behovet av manuella retain- och release-anrop. .m-filer kompileras av clang i Xcode. Sedan Apple introducerade Swift 2014 är Objective-C inte längre standard för nya projekt, men .m-filer är fortfarande utbredda i äldre kodbaser och i projekt som blandar Swift och Objective-C.
Säkerhet & trygghet
RISK: LOWEn .m-fil är ren källkod - den gör ingenting förrän den kompileras och körs, så själva filen innebär låg risk. Normala försiktighetsåtgärder för källkod gäller: läs koden innan du bygger den, eftersom kompilering och exekvering av okänd kod kan göra allt som det resulterande programmet har tillåtelse till, och källkod från okända källor kan dölja skadlig logik. Det finns ingen mekanism för makron eller automatisk exekvering i en .m-fil bara genom att öppna den i en redigerare. (Om det visar sig att .m-filen är MATLAB snarare än Objective-C gäller samma råd - kör inte okända skript.)
Formatdetaljer
i ett nötskal- MATLAB-skript / funktionsfil (.m) - MATLAB-kod i klartext - skript och funktioner för MathWorks MATLAB/Octave; den vanligaste .m-filen i vetenskapliga och tekniska sammanhang, ett helt annat språk.
- Wolfram Mathematica-paket (.m) - En källkodsfil för Wolfram Language (förekommer även som .wl) som innehåller definitioner, öppnas med Mathematica.
- Maple input/.m biblioteksfil - Maple använder .m för sina interna (ofta binära) biblioteks-/sparfiler och Maple-indatakod.
Program som öppnar M-filer
Tekniska detaljer
djup specifikation| Filtyp | Källkod i klartext (ingen binär komponent) |
| MIME-typ | text/x-objcsrc (accepteras även som text/plain) |
| Teckenkodning | UTF-8 eller ASCII-kompatibel; historiskt även Mac Roman eller Latin-1 |
| Filsignatur (magic bytes) | Ingen - identifieras endast via filändelsen .m; ren text utan binär header |
| Typisk filstruktur | #import-direktiv följt av ett eller flera @implementation ... @end-block |
| Tillhörande headerfil | .h-fil med samma basnamn innehåller klassens gränssnitt (@interface ... @end) |
| Viktiga syntax-tokens | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Kompilator | clang (LLVM); historiskt gcc innan Apple bytte 2012 |
| Minneshanteringsmodell | Manual Reference Counting (MRC) eller Automatic Reference Counting (ARC, sedan Xcode 4.2 / 2011) |
| Associerade ramverk | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Typisk filstorlek | Några hundra bytes till flera hundra KB källkod |
| Objective-C++ variant | .mm-filändelse används när Objective-C-kod måste samverka med C++ |
| Associerade plattformar | macOS, iOS, iPadOS (primära); GNUstep möjliggör användning på Linux och Windows |
| IDE och byggverktyg | Apple Xcode (primär IDE); clang och xcodebuild används även från kommandotolken |
| Släppt | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Senaste version | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Öppen standard | Ja · royaltyfri |
| Specifikation | developer.apple.com |
M-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om M-filer.