Mise à niveau des projets C++ existants vers Windows 64 bits

De RAD Studio
Aller à : navigation, rechercher

Remonter à Développement d'applications C++Builder Windows 64 bits


Les projets existants basés sur BCC32 doivent être mis à jour pour être compilés avec BCC64 ou pour utiliser simultanément la même base de code entre les deux plates-formes. En plus de ces différences relatives aux projets et aux outils, il est important de retenir que BCC64 est aussi un compilateur plus strict.

Format des fichiers objet et bibliothèque

  • BCC32 et ses outils associés utilisent OMF dans les fichiers .obj et .lib.
  • BCC64 utilise ELF dans les fichiers .o et .a.

Chaque fois que possible, vous devez retirer les extensions des fichiers objet et bibliothèque afin que chaque outil puisse utiliser l'extension appropriée. Quand cela est nécessaire, comme dans les scripts personnalisés, changez l'extension pour la rendre conditionnelle avec la détection de version.

#pragma link

Si les fichiers nommés dans les instructions #pragma link contiennent une extension de fichier, ces extensions doivent être retirées. Chaque compilateur ajoutera l'extension appropriée.

Par exemple, les applications Panneau de configuration qui utilisent cette instruction :

#pragma link "Ctlpanel.obj"

doivent être mises à jour pour lire :

#pragma link "Ctlpanel"

Pour plus d’informations, voir #pragma link.

#pragma comment

Pour les bibliothèques, il vaut mieux utiliser #pragma comment(lib ..), comme ci-dessous :

#pragma comment(lib, "library-name") // Looks for library-name.lib in WIN32 and library-name.a in WIN64

#include <windows.h>

Les applications qui utilisent l'API Windows doivent explicitement contenir

 #include <windows.h>

Avec BCC32, l'inclusion de windows.h n'est pas obligatoire, mais BCC64 requiert windows.h et est plus strict concernant les #includes.


Pour de plus amples informations, voir #include.

Macro NO_STRICT

Le schéma de vérification de type NO_STRICT n'est pas pris en charge dans BCC64. Si vos projets existants l'utilisent, il est conseillé de le retirer.

Pour plus d'informations, voir Les applications C++ utilisent le contrôle STRICT des types.

Mise à jour des projets WebBroker

  • Changez #pragma link comme décrit ci-dessus.

Voir aussi