2010-06-30 15 views
1

J'ai une application VC++ développée dans VC6. Actuellement, il prend en charge les systèmes d'exploitation 32 bits. Mon exigence de couvrir cette application pour soutenir les systèmes d'exploitation 64 bits (comme Windows7, serveur Windoes 2008 et etc.).Migration de l'application OS VC++ 32 bits vers l'application OS VC++ 64 bits

Quels sont les moyens/étapes/procédures les plus simples pour migrer une telle application?

+0

Identique à celui-ci? http://stackoverflow.com/questions/3148170/supporting-64bit-os-which-currently-works-in-32-bit-os – Rup

Répondre

1

En pratique, si vous utilisez tous les types de données comme il se doit, il ne devrait pas y avoir de problème. erreurs typiques qui sont faites, sont les suivants:

  • en utilisant [unsigned] à long au lieu de size_t en se référant à des tailles
  • soustracteurs pointeurs et lui affecter le résultat d'une longue (devrait être ptrdiff_t ou quelque chose comme ça)
  • conversion des pointeurs vers des longs ou longs à des pointeurs

La page http://msdn.microsoft.com/en-us/library/aa384198%28v=VS.85%29.aspx sur le site MSDN de Microsoft donne une liste des choses importantes à penser lors du passage à 64 bits.

Espérons que cela aide.

+0

Pour qu'une application 32 bits fonctionne sur un système d'exploitation 64 bits, devons-nous compiler notre source? en utilisant le compilateur 64 bits? – coolcake

+0

Visual Studio 2010 dispose d'un fichier de commandes qui définit les variables d'environnement nécessaires pour votre compilation. Recherchez VCVARSALL.BAT. Exécutez ceci dans une invite de commande et donnez-lui le 'type de compilation' recherché. Par exemple. "VSVARSALL X86" prépare tout pour les compilations 32 bits. "VSVARSALL X64" prépare tout pour les compilations 64 bits. – Patrick