MacOS 10.15 ne prend plus en charge les applications 32 bits. Que pouvez-vous faire?

Image 2

Le 7 octobre 2019, Apple a publié une nouvelle version de son système d'exploitation Mac, macOS Catalina. La version 10.15 contient de nombreuses modifications et améliorations. L'un des plus importants est le rejet complet des applications 32 bits. En tant que développeur de telles applications macOS, que pouvez-vous faire? C'est vrai, portez l'application sur une plate-forme 64 bits. L'application fonctionnera-t-elle correctement la première fois? C'est possible. Dépend de la complexité et de la taille du code. Mais, très probablement, les développeurs rencontreront de nombreuses erreurs non évidentes qui peuvent être détectées à l'avance en utilisant PVS-Studio.

Présentation


Bien qu'il soit techniquement possible de lancer des applications 32 bits dans un environnement 64 bits, Apple a décidé de ne pas suivre cette voie et d'achever le processus de transition vers la plate-forme 64 bits, lancée il y a 10 ans. Pour l'utilisateur, cela signifie que si le développeur de son application préférée n'a pas pris la peine de passer à temps à une plate-forme 64 bits, l'application cessera simplement de fonctionner dans la mise à jour de macOS Catalina.

Cela ne veut pas dire que la décision d'Apple était inattendue: déjà en 2018 lors de la Conférence mondiale des développeurs, la société a déclaré que macOS Mojave serait la dernière version de macOS avec la prise en charge des programmes 32 bits. La plupart des développeurs d'applications populaires ont probablement migré avec succès vers la version 64 bits de macOS Catalina ou terminent la transition.

Il convient de noter qu'avec une simplicité apparente, la traduction de l'application sur une plate-forme 64 bits contient de nombreux "pièges". Et si une partie de l'application est écrite en utilisant le langage C ++, le développeur peut avoir besoin d'une compréhension approfondie des mécanismes de travail avec la mémoire et les pointeurs, ainsi que de prendre en compte de nombreuses nuances non évidentes. Dans ce cas, il est utile d'utiliser un outil qui vous permet de vérifier l'exactitude du code en tenant compte précisément du passage de la plateforme 32 à 64 bits. Par exemple, l'analyseur de code statique PVS-Studio.

Diagnostics 64 bits


L'analyseur PVS-Studio contient un groupe spécial de diagnostics pour ce cas. En général, PVS-Studio en tant qu'outil a été initialement créé dans le but d'analyser le code C / C ++ lors de la recherche d'erreurs de migration de 64 bits, et n'a ensuite été développé que dans un analyseur plus général: des langages C # et Java ont été ajoutés, il est devenu possible de rechercher des vulnérabilités potentielles et le support des normes codage sécurisé (MISRA, par exemple) et plus encore.

Au cours des dernières années, nous avons acquis une grande expérience sur les questions de transition vers une plate-forme 64 bits, et des articles ont été écrits. Un des bons articles sur ce sujet: " Une collection d'exemples d'erreurs 64 bits dans des programmes réels ." L'article est assez ancien, mais les problèmes qui y sont décrits ne perdent pas leur pertinence aujourd'hui. Je vous recommande de le lire, surtout si vous prévoyez ou travaillez déjà sur la conversion de vos applications en 64 bits (que ce soit des applications C ++ pour macOS ou tout autre système d'exploitation).

Vous pouvez activer les avertissements 64 bits comme suit:

Windows / Visual Studio

Dans la fenêtre de visualisation des alertes, un bouton permet d'activer l'ensemble du groupe de diagnostics 64 bits:

Image 3

Linux / macOS

Lors du démarrage de l'analyseur à partir de la console, il est nécessaire d'activer les diagnostics 64 bits à la fois dans l'analyseur et dans le générateur de rapports:

pvs-studio-analyzer analyze ... -a 5 ... plog-converter ... -a "64:1,2,3" 

Conclusion


Eh bien, bien sûr, rien ne vous empêche de télécharger et d'essayer l' analyseur PVS-Studio sur votre code. Bonne chance dans la lutte contre les erreurs 64 bits et autres!



Si vous souhaitez partager cet article avec un public anglophone, veuillez utiliser le lien vers la traduction: Sergey Khrenov. MacOS 10.15 ne prend plus en charge les applications 32 bits. Que pouvez-vous faire? .

Source: https://habr.com/ru/post/fr471596/


All Articles