Hva er M-filformatet?
.m er et tekstbasert filformat som brukes til å lagre kildekode skrevet i programmeringsspråket Objective-C. En nært beslektet filendelse, .mm, støtter Objective-C blandet med C++ (Objective-C++). .m-filer finnes vanligvis på Mac- eller Windows-maskiner som brukes til utvikling av macOS- og iOS-applikasjoner. Hver .m-implementasjonsfil parres med en tilhørende .h-header med samme navn, som inneholder deklarasjoner for klasse-grensesnittet.
Objective-C er et programmeringsspråk som legger til objektorienterte funksjoner i språket C. Objective-C bruker rammeverkene Cocoa og Cocoa Touch, og brukes hovedsakelig til å skrive apper for Apple-enheter. I motsetning til C++, er Objective-C en streng overmengde av ANSI C. En .m-fil starter vanligvis med #import-direktiver (f.eks. #import <Foundation/Foundation.h>) og inneholder @implementation ... @end-blokker som definerer klassens metoder. Siden 2011 har Automatic Reference Counting (ARC) automatisert minnehåndtering, noe som fjerner behovet for manuelle retain- og release-kall. .m-filer kompileres av clang i Xcode. Siden Apple introduserte Swift i 2014, er ikke Objective-C lenger standardvalget for nye prosjekter, men .m-filer er fortsatt utbredt i eldre kodebaser og i prosjekter som blander Swift og Objective-C.
Sikkerhet og trygghet
RISIKO: LOWEn .m-fil er ren kildekode - den gjør ingenting før den er kompilert og kjørt, så selve filen har lav risiko. Vanlige forholdsregler for kildekode gjelder: les koden før du bygger den, siden kompilering og kjøring av ukjent kode kan gjøre alt det resulterende programmet har tillatelse til, og kildekode fra upålitelige kilder kan skjule skadelig logikk. Det er ingen makro- eller autokjøringsmekanisme i en .m-fil ved kun å åpne den i en editor. (Hvis det viser seg at .m-filen er MATLAB i stedet for Objective-C, gjelder samme råd - ikke kjør ukjente skripter.)
Formatdetaljer
i et nøtteskall- MATLAB-skript / funksjonsfil (.m) - MATLAB-kode i ren tekst - skripter og funksjoner for MathWorks MATLAB/Octave; den vanligste .m-filen i vitenskapelig/ingeniørmessig bruk, et helt annet språk.
- Wolfram Mathematica-pakke (.m) - En Wolfram Language-pakke/kildekodefil (også sett som .wl) som inneholder definisjoner, åpnes av Mathematica.
- Maple input/.m biblioteksfil - Maple bruker .m for sine interne (ofte binære) biblioteks-/lagringsfiler og Maple-inputkode.
Programmer som åpner M-filer
Tekniske detaljer
dyp spesifikasjon| Filtype | Kildekode i ren tekst (ingen binær komponent) |
| MIME-type | text/x-objcsrc (også akseptert som text/plain) |
| Tegnoding | UTF-8 eller ASCII-kompatibel; historisk også Mac Roman eller Latin-1 |
| Filsignatur (magic bytes) | Ingen - identifiseres kun av .m-filendelsen; ren tekst uten binær header |
| Typisk filstruktur | #import-direktiver etterfulgt av én eller flere @implementation ... @end-blokker |
| Tilhørende header-fil | .h-fil med samme navn inneholder klassegrensesnittet (@interface ... @end) |
| Viktige syntaks-tokens | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Kompilator | clang (LLVM); historisk gcc før Apple byttet i 2012 |
| Minnehåndteringsmodell | Manual Reference Counting (MRC) eller Automatic Reference Counting (ARC, siden Xcode 4.2 / 2011) |
| Tilknyttede rammeverk | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Typisk filstørrelse | Fra noen få hundre byte til flere hundre KB kildetekst |
| Objective-C++ variant | .mm-filendelse brukes når Objective-C-kode må fungere sammen med C++ |
| Tilknyttede plattformer | macOS, iOS, iPadOS (primær); GNUstep muliggjør bruk på Linux og Windows |
| IDE og byggverktøy | Apple Xcode (primær IDE); clang og xcodebuild brukes også fra kommandolinjen |
| Utgitt | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Siste versjon | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | developer.apple.com |
M-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om M-filer.