Che cos'è il formato di file M?
.m è un formato di file di testo semplice utilizzato per memorizzare il codice sorgente scritto nel linguaggio di programmazione Objective-C. Un'estensione strettamente correlata, .mm, supporta Objective-C misto a C++ (Objective-C++). I file .m si trovano comunemente su macchine Mac o Windows utilizzate per lo sviluppo di applicazioni macOS e iOS. Ogni file di implementazione .m è accoppiato con un header .h compagno con lo stesso nome di base, che contiene le dichiarazioni dell'interfaccia della classe.
Objective-C è un linguaggio di programmazione che aggiunge funzionalità orientate agli oggetti al linguaggio C. Objective-C utilizza i framework Cocoa e Cocoa Touch ed è principalmente utilizzato per scrivere app per dispositivi Apple. A differenza del C++, Objective-C è un superset rigoroso dell'ANSI C. Un file .m inizia tipicamente con direttive #import (ad esempio #import <Foundation/Foundation.h>) e contiene blocchi @implementation ... @end che definiscono i metodi di una classe. Dal 2011, l'Automatic Reference Counting (ARC) automatizza la gestione della memoria, eliminando la necessità di chiamate manuali a retain e release. I file .m vengono compilati da clang all'interno di Xcode. Da quando Apple ha introdotto Swift nel 2014, Objective-C non è più l'impostazione predefinita per i nuovi progetti, ma i file .m rimangono diffusi nelle codebase legacy e nel lavoro misto Swift/Objective-C.
Sicurezza e incolumità
RISCHIO: LOWUn file .m è semplice codice sorgente - non fa nulla finché non viene compilato ed eseguito, quindi il file stesso è a basso rischio. Si applicano le normali precauzioni per il codice sorgente: leggi prima di compilare, poiché la compilazione e l'esecuzione di codice sconosciuto possono fare tutto ciò che è consentito al programma risultante, e il sorgente proveniente da repository non attendibili potrebbe nascondere logica dannosa. Non esiste un meccanismo di macro o auto-esecuzione in un file .m semplicemente aprendolo in un editor. (Se il file .m si rivela essere MATLAB invece di Objective-C, vale lo stesso consiglio - non eseguire script non attendibili).
Dettagli del formato
in sintesi- Script MATLAB / file funzione (.m) - Codice MATLAB in testo semplice - script e funzioni per MathWorks MATLAB/Octave; il file .m più comune nell'uso scientifico/ingegneristico, un linguaggio completamente diverso.
- Pacchetto Wolfram Mathematica (.m) - Un pacchetto/file sorgente Wolfram Language (visto anche come .wl) contenente definizioni, aperto da Mathematica.
- File libreria input/.m Maple - Maple utilizza .m per i suoi file di libreria/salvataggio interni (spesso binari) e per il codice di input Maple.
Programmi che aprono file M
Dettagli tecnici
specifiche approfondite| Tipo di file | Codice sorgente in testo semplice (nessun componente binario) |
| Tipo MIME | text/x-objcsrc (accettato anche come text/plain) |
| Codifica dei caratteri | UTF-8 o compatibile con ASCII; storicamente anche Mac Roman o Latin-1 |
| Firma del file (magic bytes) | Nessuna - identificato solo dall'estensione .m; testo semplice senza header binario |
| Struttura tipica del file | Direttive #import seguite da uno o più blocchi @implementation ... @end |
| File header compagno | Il file .h con lo stesso nome di base contiene l'interfaccia della classe (@interface ... @end) |
| Token di sintassi chiave | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Compilatore | clang (LLVM); storicamente gcc prima del passaggio di Apple nel 2012 |
| Modello di gestione della memoria | Manual Reference Counting (MRC) o Automatic Reference Counting (ARC, da Xcode 4.2 / 2011) |
| Framework associati | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Dimensione tipica del file | Da poche centinaia di byte a diverse centinaia di KB di testo sorgente |
| Variante Objective-C++ | Estensione .mm utilizzata quando il codice Objective-C deve interoperare con C++ |
| Piattaforme associate | macOS, iOS, iPadOS (principali); GNUstep ne consente l'uso su Linux e Windows |
| IDE e strumenti di build | Apple Xcode (IDE principale); clang e xcodebuild utilizzati anche da riga di comando |
| Rilasciato | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Ultima versione | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Standard aperto | Sì · royalty-free |
| Specifica | developer.apple.com |
Conversioni M
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file M.