O que é o formato de ficheiro M?
.m é um formato de arquivo de texto simples usado para armazenar código-fonte escrito na linguagem de programação Objective-C. Uma extensão intimamente relacionada, .mm, suporta Objective-C misturado com C++ (Objective-C++). Arquivos .m são comumente encontrados em máquinas Mac ou Windows usadas para desenvolver aplicativos macOS e iOS. Cada arquivo de implementação .m faz par com um cabeçalho .h complementar de mesmo nome base, que contém as declarações de interface da classe.
Objective-C é uma linguagem de programação que adiciona recursos orientados a objetos à linguagem C. O Objective-C utiliza os frameworks Cocoa e Cocoa Touch e é usado principalmente para escrever aplicativos para dispositivos Apple. Ao contrário do C++, o Objective-C é um superconjunto estrito do ANSI C. Um arquivo .m normalmente começa com diretivas #import (ex: #import <Foundation/Foundation.h>) e contém blocos @implementation ... @end definindo os métodos de uma classe. Desde 2011, o Automatic Reference Counting (ARC) automatiza o gerenciamento de memória, removendo a necessidade de chamadas manuais de retain e release. Arquivos .m são compilados pelo clang dentro do Xcode. Desde que a Apple introduziu o Swift em 2014, o Objective-C não é mais o padrão para novos projetos, mas os arquivos .m permanecem difundidos em bases de código legadas e em trabalhos mistos Swift/Objective-C.
Segurança e proteção
RISCO: LOWUm arquivo .m é código-fonte puro - ele não faz nada até ser compilado e executado, portanto, o arquivo em si é de baixo risco. Aplicam-se as precauções normais de código-fonte: leia antes de compilar, pois compilar e executar código desconhecido pode fazer qualquer coisa que o programa resultante tenha permissão para fazer, e fontes de repositórios não confiáveis podem esconder lógica maliciosa. Não há mecanismo de macro ou autoexecução em um arquivo .m apenas ao abri-lo em um editor. (Se o .m for do MATLAB em vez de Objective-C, o mesmo conselho se aplica - não execute scripts não confiáveis).
Detalhes do formato
em resumo- Script MATLAB / arquivo de função (.m) - Código MATLAB em texto simples - scripts e funções para MathWorks MATLAB/Octave; o arquivo .m mais comum em uso científico/engenharia, uma linguagem inteiramente diferente.
- Pacote Wolfram Mathematica (.m) - Um pacote/arquivo de origem da Wolfram Language (também visto como .wl) contendo definições, aberto pelo Mathematica.
- Arquivo de biblioteca/entrada Maple (.m) - O Maple usa .m para seus arquivos de biblioteca/salvamento internos (geralmente binários) e código de entrada Maple.
Programas que abrem arquivos M
Detalhes técnicos
especificação profunda| Tipo de arquivo | Código-fonte em texto simples (sem componente binário) |
| Tipo MIME | text/x-objcsrc (também aceito como text/plain) |
| Codificação de caracteres | UTF-8 ou compatível com ASCII; historicamente também Mac Roman ou Latin-1 |
| Assinatura do arquivo (magic bytes) | Nenhuma - identificado apenas pela extensão .m; texto simples sem cabeçalho binário |
| Estrutura típica do arquivo | Diretivas #import seguidas por um ou mais blocos @implementation ... @end |
| Arquivo de cabeçalho complementar | O arquivo .h de mesmo nome base contém a interface da classe (@interface ... @end) |
| Tokens de sintaxe principais | @implementation, @end, @property, @synthesize, #import, - (returnType)methodName |
| Compilador | clang (LLVM); historicamente gcc antes da Apple mudar em 2012 |
| Modelo de gerenciamento de memória | Manual Reference Counting (MRC) ou Automatic Reference Counting (ARC, desde Xcode 4.2 / 2011) |
| Frameworks associados | Cocoa (macOS), Cocoa Touch (iOS/iPadOS) |
| Tamanho típico do arquivo | De algumas centenas de bytes a centenas de KB de texto de código-fonte |
| Variante Objective-C++ | Extensão .mm usada quando o código Objective-C deve interoperar com C++ |
| Plataformas associadas | macOS, iOS, iPadOS (principal); o GNUstep permite o uso em Linux e Windows |
| IDE e ferramentas de build | Apple Xcode (IDE principal); clang e xcodebuild também usados via linha de comando |
| Lançado | Objective-C language 1984; .m as the standard implementation-file extension since the NeXTSTEP era (late 1980s) |
| Versão mais recente | Objective-C 2.0 (2006, Mac OS X 10.5); language is stable, now largely supplanted by Swift |
| Padrão aberto | Sim · livre de royalties |
| Especificação | developer.apple.com |
Conversões de M
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos M.