2010-11-08 5 views
0

J'essaie de tester ma bibliothèque statique que j'avais l'habitude de construire en win xp 32bit. J'ai donc fait une application de test qui utilise la lib statique pour imprimer un code.Comment tester l'application

Maintenant, je voulais voir son comportement sur un système d'exploitation 64 bits. Comment vais-je faire ça? Ai-je besoin d'installer vs2008 sur celui-là et de créer mon application de test dessus puis de mettre ma bibliothèque statique et de la construire là? Ou est-il un moyen où je peux simplement porter mon application existante exe et statique lib à une machine 64 bits?

Aussi est-il vrai que sur un système d'exploitation 64 bits, j'ai besoin d'une application 32 bits pour exécuter une bibliothèque statique créée dans un environnement 32 bits?

Le but est de vérifier si ma bibliothèque statique fonctionnerait dans un environnement 64 bits. Notez également qu'ils vont installer cette bibliothèque statique sur plusieurs ordinateurs, donc je ne m'attends à aucun accès réseau en soi.

L'API que je leur donne utilise const char * comme paramètre d'entrée car j'utilise des chaînes en interne. Je ne sais pas si j'ai besoin de créer un paramètre facultatif de __int64 puis de le convertir en chaîne en interne.

Répondre

0

Ecrivez de bons tests unitaires, construisez-les sur une plate-forme 64 bits et exécutez-les. Si certains tests unitaires échouent, vous avez un problème. Avec VisualStudio, vous pouvez créer des binaires 64 bits sur une boîte 32 bits.

+0

Les tests unitaires ne sont pas une fin en soi. Il n'y a pas de substitut à l'exécution de votre application sur une plate-forme cible. –

+0

@John Dibling Vous avez raison - ils ne le sont pas. Je considère que les tests unitaires sont plus sécuritaires. J'ai trouvé quelque part que les tests unitaires rattrapent 30% de tous les problèmes, et mon expérience me dit que c'est plus. BTW Je fais TDD, où les tests unitaires dictent la conception. –

+0

autre que l'installation vs2008 sur la boîte cible et le portage de ma bibliothèque statique. est-il un moyen d'utiliser mon application que j'ai fait sur un 32 bits env? comme dire copier l'exe et lib et voir si cela fonctionne? juste curieux de savoir comment cela fonctionnerait? –

1

Vous ne pouvez pas les exécuter ici. Si c'est une bonne idée d'utiliser une machine 32 bits comme votre machine de construction est une toute autre histoire, mais oui, cela peut être fait.

Donc, vous construisez votre application 64 bits sur OLDCLUNKER32, qui est une boîte de 32 bits. Déplacez ces binaires sur NEWHOTNESS64 qui est une boîte de 64 bits, installez tous les paquets redistribuables Visual Studio dont vous pourriez avoir besoin, et exécutez votre application. Vous pouvez exécuter du code 32 bits sur une boîte 64 bits, mais vous ne pouvez pas mélanger des binaires 64 bits et 32 ​​bits dans une seule application. Par exemple, votre EXE et toutes les DLL doivent être identiques, soit 64 ou 32 bits.

Vos clients n'ont pas besoin d'installer VisualStudio pour exécuter votre application, n'est-ce pas? Eh bien, vous non plus. Installez le redistribuable approprié pour votre plate-forme, et vous devriez être en mesure d'exécuter votre application.

+0

comment puis-je déployer mon application de test qui utilise ma bibliothèque statique sans installer vs2008? Je pense que je ne sais pas comment faire ... –

+0

Vos utilisateurs finaux devront installer (ou avoir déjà installé) un paquet "redist" pour VisualStudio. Vous pouvez l'obtenir à partir du site Web de téléchargement MS, et vous devez vous assurer que votre utilisateur final installe le bon. Chaque combinaison de plate-forme cible, de version de compilateur et de niveau de Service Pack de compilateur requiert un package redist différent. Par exemple, cette redist est pour les applications 32 bits compilées avec MSVC 2008 SP1: http://www.microsoft.com/downloads/en/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=fr –