2010-06-03 7 views
0

Existe-t-il un moyen de compiler un fichier EXE, de sorte qu'il s'exécutera nativement dans x86 et x64? Quelque chose comme: compilez les deux bases de code et empaquetez-les dans un seul exécutable.Compile exécutable non géré pour les deux x86 et x64

Je sais que le code .NET peut fonctionner en mode «n'importe quel processeur», mais ce n'est pas ce que je veux.

Répondre

2

Un exécutable 32 bits s'exécutera nativement sur des machines Windows 32 bits et x64. La seule façon d'obtenir l'exécution x64 dans un fichier PE 32 bits consiste à utiliser un undocumented gate, que je doute que quiconque utilise en pratique car il dépend fortement de la version (et non documenté).

Puis à nouveau vous faire si le binaire 32 bits exécute une version 64 bits du binaire et la sortie si elle détecte un processeur 64 bits ...

1

Vous pouvez prendre l'approche Process Explorer. Dans votre fichier binaire 32 bits, intégrez le fichier binaire 64 bits en tant que ressource. Si le fichier binaire 32 bits est lancé sur une machine 64 bits, extrayez le fichier binaire 64 bits et lancez-le.

Questions connexes