Upgrade von vorhandenen C++-Projekten nach 64-Bit-Windows
Nach oben zu C++Builder-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.
Inhaltsverzeichnis
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") // Looks for library-name.lib in WIN32 and 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
- Unterschiede von C++Builder für 64-Bit-Windows
- Striktere C++-Compiler (Durch Clang erweiterte C++-Compiler)
- Debuggen von C++Builder-Anwendungen für 64-Bit-Windows
- BCC64.EXE: Der C++-Compiler für 64-Bit-Windows
- Plattformübergreifende 64-Bit-Windows-Anwendung (Delphi und C++)
- #if, #elif, #else und #endif