Qu'est-ce que le format de fichier M ?
.m est un format de fichier texte brut utilisé pour stocker du code source écrit dans le langage de programmation Objective-C. Une extension étroitement liée, .mm, prend en charge l'Objective-C mélangé avec du C++ (Objective-C++). Les fichiers .m se trouvent couramment sur les machines Mac ou Windows utilisées pour le développement d'applications macOS et iOS. Chaque fichier d'implémentation .m est associé à un en-tête .h compagnon portant le même nom de base, qui contient les déclarations d'interface de la classe.
L'Objective-C est un langage de programmation qui ajoute des capacités orientées objet au langage C. L'Objective-C utilise les frameworks Cocoa et Cocoa Touch et est principalement utilisé pour écrire des applications pour les appareils Apple. Contrairement au C++, l'Objective-C est un sur-ensemble strict de l'ANSI C. Un fichier .m commence généralement par des directives #import (par exemple #import <Foundation/Foundation.h>) et contient des blocs @implementation ... @end définissant les méthodes d'une classe. Depuis 2011, l'Automatic Reference Counting (ARC) automatise la gestion de la mémoire, supprimant le besoin d'appels manuels à retain et release. Les fichiers .m sont compilés par clang dans Xcode. Depuis qu'Apple a introduit Swift en 2014, l'Objective-C n'est plus le choix par défaut pour les nouveaux projets, mais les fichiers .m restent répandus dans les bases de code héritées et dans les travaux mixtes Swift/Objective-C.
Sécurité et sûreté
RISQUE : LOWUn fichier .m est du code source brut - il ne fait rien tant qu'il n'est pas compilé et exécuté, le fichier lui-même présente donc un risque faible. Les précautions habituelles relatives au code source s'appliquent : lisez avant de compiler, car l'exécution d'un code inconnu peut faire tout ce que le programme résultant est autorisé à faire, et les sources provenant de dépôts non fiables peuvent cacher une logique malveillante. Il n'y a pas de macro ou de mécanisme d'auto-exécution dans un fichier .m par simple ouverture dans un éditeur. (Si le .m s'avère être du MATLAB plutôt que de l'Objective-C, le même conseil s'applique - n'exécutez pas de scripts non fiables.)
Détails du format
en bref- Script / fichier de fonction MATLAB (.m) - Code MATLAB en texte brut - scripts et fonctions pour MathWorks MATLAB/Octave ; le fichier .m le plus courant dans l'usage scientifique et technique, un langage totalement différent.
- Package Wolfram Mathematica (.m) - Un package ou fichier source Wolfram Language (également vu sous l'extension .wl) contenant des définitions, ouvert par Mathematica.
- Fichier d'entrée / bibliothèque Maple (.m) - Maple utilise .m pour ses fichiers de bibliothèque/sauvegarde internes (souvent binaires) et le code d'entrée Maple.
Programmes qui ouvrent les fichiers M
Détails techniques
spécifications approfondies| Type de fichier | Code source en texte brut (aucun composant binaire) |
| Type MIME | text/x-objcsrc (également accepté comme text/plain) |
| Encodage des caractères | UTF-8 ou compatible ASCII ; historiquement aussi Mac Roman ou Latin-1 |
| Signature de fichier (octets magiques) | Aucune - identifié par l'extension .m uniquement ; texte brut sans en-tête binaire |
| Structure typique du fichier | Directives #import suivies d'un ou plusieurs blocs @implementation ... @end |
| Fichier d'en-tête compagnon | Le fichier .h du même nom de base contient l'interface de la classe (@interface ... @end) |
| Jetons de syntaxe clés | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Compilateur | clang (LLVM) ; historiquement gcc avant qu'Apple ne change en 2012 |
| Modèle de gestion de la mémoire | Manual Reference Counting (MRC) ou Automatic Reference Counting (ARC, depuis Xcode 4.2 / 2011) |
| Frameworks associés | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Taille typique du fichier | De quelques centaines d'octets à plusieurs centaines de Ko de texte source |
| Variante Objective-C++ | Extension .mm utilisée lorsque le code Objective-C doit interagir avec le C++ |
| Plateformes associées | macOS, iOS, iPadOS (principal) ; GNUstep permet l'utilisation sur Linux et Windows |
| IDE et outils de construction | Apple Xcode (IDE principal) ; clang et xcodebuild sont également utilisés en ligne de commande |
| Publié | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Dernière version | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Standard ouvert | Oui · libre de droits |
| Spécification | developer.apple.com |
Conversions M
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers M.