Upgrade von vorhandenen C++-Projekten nach 64-Bit-Windows

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Appmethod C++-Anwendungsentwicklung für 64-Bit-Windows


Vorhandene BCC32-basierte Projekte müssen aktualisiert werden, damit sie mit BCC64 ordnungsgemäß compiliert werden können oder damit dieselbe Codebasis auf beiden Plattformen verwendet werden kann. BCC64 ist zusätzlich zu diesen projekt- und tool-bezogenen Unterschieden auch ein strikterer Compiler.

Format für Objekt- und Bibliotheksdateien

  • BCC32 und die zugehörigen Tools verwenden in .obj- und .lib-Dateien OMF.
  • BCC64 verwendet in .o- und .a-Dateien ELF.

Wo immer möglich, sollten Sie die Erweiterungen von Objekt- und Bibliotheksdateien entfernen, damit von jedem Tool die geeignete Erweiterung verwendet werden kann. Wenn erforderlich, wie z.B. in benutzerdefinierten Skripten, können Sie die Erweiterung abhängig von der Version anhand einer Bedingung ändern.

#pragma link

Wenn die in #pragma link-Anweisungen aufgeführten Dateien eine Dateierweiterung enthalten, müssen diese Erweiterungen entfernt werden. Jeder Compiler hängt die geeignete Erweiterung an.

Beispielsweise müssen Systemsteuerungsanwendungen, in denen diese Anweisung:

#pragma link "Ctlpanel.obj"

verwendet wird, folgendermaßen aktualisiert werden:

#pragma link "Ctlpanel"

Weitere Informationen finden Sie unter #pragma link.

#pragma comment

Bei Bibliotheken sollten Sie #pragma comment(lib ..) verwenden, wie in:

#pragma comment(lib, "library-name") // Sucht nach library-name.lib in WIN32 und library-name.a in WIN64

#include <windows.h>

Anwendungen, die die Windows-API verwenden, müssen Folgendes enthalten:

#include <windows.h>

Für BCC32 ist das Einbeziehen von windows.h nicht erforderlich, aber BCC64 erfordert windows.h und ist in Bezug auf #includes strikter.

Weitere Informationen finden Sie unter #include.

Makro NO_STRICT

Das Typprüfungsschema NO_STRICT wird in BCC64 nicht unterstützt. Wenn in vorhandenen Projekten dieses Typprüfungsschema verwendet wird, sollten Sie es entfernen.

Weitere Informationen finden Sie unter C++-Anwendungen verwenden eine strikte Typprüfung.

Aktualisieren von WebBroker-Projekten

  • Ändern Sie #pragma link wie oben beschrieben.

Siehe auch