Am 7. Oktober 2019 veröffentlichte Apple eine neue Version seines Mac-Betriebssystems, macOS Catalina. Version 10.15 enthält viele Änderungen und Verbesserungen. Eine der wichtigsten ist die vollständige Ablehnung von 32-Bit-Anwendungen. Was können Sie als Entwickler solcher macOS-Apps tun? Portieren Sie die Anwendung auf eine 64-Bit-Plattform. Funktioniert die Anwendung beim ersten Mal ordnungsgemäß? Möglicherweise. Hängt von der Komplexität und Größe des Codes ab. Höchstwahrscheinlich werden die Entwickler jedoch auf viele nicht offensichtliche Fehler stoßen, die mit PVS-Studio im Voraus erkannt werden können.
Einführung
Trotz der Tatsache, dass das technische Starten von 32-Bit-Anwendungen in einer 64-Bit-Umgebung möglich ist, hat Apple beschlossen, diesen Weg nicht zu beschreiten und den vor 10 Jahren gestarteten Übergang zu einer 64-Bit-Plattform abzuschließen. Für den Benutzer bedeutet dies, dass die Anwendung im aktualisierten macOS Catalina einfach nicht mehr funktioniert, wenn der Entwickler seiner bevorzugten Anwendung nicht rechtzeitig auf die 64-Bit-Plattform umgestellt hat.
Dies bedeutet nicht, dass die Entscheidung von Apple unerwartet war: Bereits 2018 auf der Worldwide Developers Conference gab das Unternehmen bekannt, dass macOS Mojave die neueste Version von macOS mit Unterstützung für 32-Bit-Programme sein wird. Wahrscheinlich haben die meisten Entwickler beliebter Anwendungen erfolgreich auf 64-Bit zur Veröffentlichung von macOS Catalina migriert oder schließen den Übergang ab.
Es ist zu beachten, dass die Übersetzung der Anwendung auf einer 64-Bit-Plattform mit scheinbarer Einfachheit viele "Fallstricke" enthält. Und wenn ein Teil der Anwendung in der C ++ - Sprache geschrieben ist, muss der Entwickler möglicherweise die Mechanismen für die Arbeit mit Speicher und Zeigern genau kennen und viele nicht offensichtliche Nuancen berücksichtigen. In diesem Fall ist es hilfreich, ein Tool zu verwenden, mit dem Sie die Richtigkeit des Codes unter Berücksichtigung des Übergangs von der 32- zur 64-Bit-Plattform genau überprüfen können. Zum Beispiel PVS-Studio Static Code Analyzer.
64-Bit-Diagnose
Der PVS-Studio-Analysator enthält eine spezielle
Gruppe von Diagnosen für diesen Fall. Im Allgemeinen wurde PVS-Studio als Tool ursprünglich zum Analysieren von C / C ++ - Code bei der Suche nach Migrationsfehlern von 64 Bit erstellt und erst anschließend zu einem allgemeineren Analysegerät entwickelt: C # - und Java-Sprachen wurden hinzugefügt, und es wurde möglich, nach potenziellen Schwachstellen zu suchen und Standards zu unterstützen sichere Codierung (z. B. MISRA) und mehr.
In der vergangenen Zeit haben wir große Erfahrungen mit dem Übergang zu einer 64-Bit-Plattform gesammelt und Artikel verfasst. Einer der guten Artikel zu diesem Thema: "
Eine Sammlung von Beispielen für 64-Bit-Fehler in realen Programmen ." Der Artikel ist ziemlich alt, aber die darin beschriebenen Probleme verlieren heute nicht ihre Relevanz. Ich empfehle es zu lesen, insbesondere wenn Sie planen oder bereits daran arbeiten, Ihre Anwendungen in 64-Bit zu konvertieren (seien es C ++ - Anwendungen für macOS oder ein anderes Betriebssystem).
Sie können 64-Bit-Warnungen wie folgt aktivieren:
Windows / Visual StudioIm Fenster zur Anzeige von Warnungen befindet sich eine Schaltfläche, mit der die gesamte Gruppe der 64-Bit-Diagnose aktiviert werden kann:
Linux / MacOSWenn Sie den Analysator von der Konsole aus starten, müssen Sie die 64-Bit-Diagnose sowohl im Analysator als auch im Berichtsgenerator aktivieren:
pvs-studio-analyzer analyze ... -a 5 ... plog-converter ... -a "64:1,2,3"
Fazit
Natürlich hindert Sie nichts daran
, den PVS-Studio-Analysator auf Ihren Code
herunterzuladen und auszuprobieren. Viel Glück im Kampf gegen 64-Bit und andere Fehler!

Wenn Sie diesen Artikel einem englischsprachigen Publikum zugänglich machen möchten, verwenden Sie bitte den Link zur Übersetzung: Sergey Khrenov.
MacOS 10.15 unterstützt keine 32-Bit-Apps mehr. Was kannst du tun .