Co to jest format pliku M?
.m to format pliku tekstowego służący do przechowywania kodu źródłowego napisanego w języku programowania Objective-C. Ściśle powiązane rozszerzenie, .mm, obsługuje Objective-C połączone z C++ (Objective-C++). Pliki .m są powszechnie spotykane na komputerach Mac lub Windows używanych do tworzenia aplikacji macOS i iOS. Każdy plik implementacji .m występuje w parze z towarzyszącym mu nagłówkiem .h o tej samej nazwie bazowej, który zawiera deklaracje interfejsu klasy.
Objective-C to język programowania, który dodaje możliwości obiektowe do języka C. Objective-C wykorzystuje frameworki Cocoa i Cocoa Touch i jest używany głównie do pisania aplikacji na urządzenia Apple. W przeciwieństwie do C++, Objective-C jest ścisłym nadzbiorem ANSI C. Plik .m zazwyczaj zaczyna się od dyrektyw #import (np. #import <Foundation/Foundation.h>) i zawiera bloki @implementation ... @end definiujące metody klasy. Od 2011 roku Automatic Reference Counting (ARC) automatyzuje zarządzanie pamięcią, eliminując potrzebę ręcznego wywoływania retain i release. Pliki .m są kompilowane przez clang wewnątrz Xcode. Odkąd Apple wprowadziło Swift w 2014 roku, Objective-C nie jest już domyślnym wyborem dla nowych projektów, ale pliki .m pozostają powszechne w starszych bazach kodu oraz w projektach łączących Swift i Objective-C.
Bezpieczeństwo
RYZYKO: LOWPlik .m to czysty kod źródłowy - nie robi nic, dopóki nie zostanie skompilowany i uruchomiony, więc sam plik jest niskiego ryzyka. Obowiązują standardowe środki ostrożności dotyczące kodu źródłowego: przeczytaj przed zbudowaniem, ponieważ kompilacja i wykonanie nieznanego kodu może zrobić wszystko, na co pozwala wynikowy program, a kod z niezaufanych repozytoriów może ukrywać złośliwą logikę. W pliku .m nie ma mechanizmu makr ani automatycznego wykonywania przy samym otwieraniu go w edytorze. (Jeśli okaże się, że .m to MATLAB, a nie Objective-C, obowiązuje ta sama porada - nie uruchamiaj niezaufanych skryptów).
Szczegóły formatu
w pigułce- Skrypt / plik funkcji MATLAB (.m) - Kod MATLAB w formacie tekstowym - skrypty i funkcje dla MathWorks MATLAB/Octave; najczęstszy plik .m w zastosowaniach naukowych i inżynieryjnych, zupełnie inny język.
- Pakiet Wolfram Mathematica (.m) - Plik pakietu/źródłowy języka Wolfram (widywany również jako .wl) zawierający definicje, otwierany przez Mathematica.
- Plik wejściowy/biblioteki Maple (.m) - Maple używa rozszerzenia .m dla swoich wewnętrznych (często binarnych) plików bibliotek/zapisu oraz kodu wejściowego Maple.
Programy otwierające pliki M
Szczegóły techniczne
specyfikacja| Typ pliku | Kod źródłowy w formacie tekstowym (brak komponentów binarnych) |
| Typ MIME | text/x-objcsrc (akceptowany również jako text/plain) |
| Kodowanie znaków | UTF-8 lub kompatybilne z ASCII; historycznie także Mac Roman lub Latin-1 |
| Sygnatura pliku (magic bytes) | Brak - identyfikowany wyłącznie po rozszerzeniu .m; zwykły tekst bez nagłówka binarnego |
| Typowa struktura pliku | Dyrektywy #import, a następnie jeden lub więcej bloków @implementation ... @end |
| Towarzyszący plik nagłówkowy | Plik .h o tej samej nazwie bazowej zawiera interfejs klasy (@interface ... @end) |
| Kluczowe tokeny składni | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Kompilator | clang (LLVM); historycznie gcc przed przejściem Apple w 2012 roku |
| Model zarządzania pamięcią | Manual Reference Counting (MRC) lub Automatic Reference Counting (ARC, od Xcode 4.2 / 2011) |
| Powiązane frameworki | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Typowy rozmiar pliku | Od kilkuset bajtów do kilkuset KB tekstu źródłowego |
| Wariant Objective-C++ | Rozszerzenie .mm używane, gdy kod Objective-C musi współpracować z C++ |
| Powiązane platformy | macOS, iOS, iPadOS (główne); GNUstep umożliwia użycie na Linux i Windows |
| IDE i narzędzia budowania | Apple Xcode (główne IDE); clang i xcodebuild używane również z linii poleceń |
| Wydano | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Najnowsza wersja | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | developer.apple.com |
Konwersje M
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki M.