Em 7 de outubro de 2019, a Apple lançou uma nova versão do seu sistema operacional Mac, o macOS Catalina. A versão 10.15 contém muitas alterações e melhorias. Um dos significantes é a eliminação progressiva completa de aplicativos de 32 bits. Como desenvolvedor desses aplicativos macOS, o que você pode fazer? É isso mesmo, mova o aplicativo para a plataforma de 64 bits. O aplicativo funcionará corretamente desde a primeira tentativa? Talvez seja possível. Depende da complexidade e quantidade do código. Mas o mais provável é que os desenvolvedores enfrentem muitos erros não óbvios, que podem ser detectados anteriormente usando o PVS-Studio.
1. Introdução
Embora seja tecnicamente possível executar aplicativos de 32 bits no ambiente de 64 bits, a Apple decidiu não seguir esse caminho e concluir o processo de mudança para a plataforma de 64 bits iniciada há 10 anos. Para o usuário, isso significa que, se o desenvolvedor do aplicativo favorito do usuário não prestar atenção em transportá-lo para a plataforma de 64 bits a tempo, o aplicativo simplesmente deixará de funcionar no macOS Catalina atualizado.
Não é que a decisão da Apple tenha sido inesperada: em 2018, na Worldwide Developers Conference, a empresa disse que o macOS Mojave seria a versão mais recente do macOS com suporte de software de 32 bits. Provavelmente, a maioria dos desenvolvedores de aplicativos populares já atualizou com êxito para 64 bits para a versão macOS Catalina ou está concluindo a transição.
Deve-se notar que, com toda a sua aparente simplicidade, a portabilidade do aplicativo para uma plataforma de 64 bits apresenta muitas armadilhas. Se alguma parte de um aplicativo é escrita usando a linguagem C ++, o desenvolvedor pode precisar de um entendimento profundo do manuseio de memória e ponteiros, além de levar em consideração muitas nuances não óbvias. Nesse caso, o uso da ferramenta, monitorar a correção do código ao transportar de 32 para uma plataforma de 64 bits, será extremamente útil. O PVS-Studio é um dos exemplos de tais ferramentas.
Diagnóstico de 64 bits
O analisador PVS-Studio compreende um
grupo especial
de diagnósticos para esse caso. Inicialmente, o PVS-Studio tinha como objetivo analisar o código C / C ++ e procurar erros ocorrendo diretamente no resultado da transferência para 64 bits. Somente depois disso o PVS-Studio evoluiu para o analisador de uso geral: suporte a linguagens C # e Java, pesquisa de possíveis vulnerabilidades, suporte a padrões de codificação seguros (por exemplo, MISRA) e muitos outros recursos foram disponibilizados.
Desde então, acumulamos uma grande experiência em portar para uma plataforma de 64 bits. Nossa equipe escreveu muitos artigos sobre esse tópico. Um dos artigos sobre este tópico: "
Uma coleção de exemplos de erros de 64 bits em programas reais ". O artigo é bastante antigo, mas os problemas descritos nele também são relevantes hoje. Eu recomendo a leitura, especialmente se você estiver planejando ou já estiver trabalhando para atualizar seus aplicativos para 64 bits (aplicativos em C ++ para macOS ou qualquer outro SO).
Você pode habilitar avisos de 64 bits da seguinte maneira:
Windows / Visual StudioNa janela de exibição de aviso, há um botão para ativar todo o grupo de diagnósticos de 64 bits:
Linux / macOSAo iniciar o analisador a partir do console, é necessário ativar o diagnóstico de 64 bits no analisador e no gerador de relatórios:
pvs-studio-analyzer analyze ... -a 5 ... plog-converter ... -a "64:1,2,3"
Conclusão
E, é claro, nada impede você de
baixar e experimentar o analisador PVS-Studio no seu código. Boa sorte na luta contra erros de 64 bits e outros!