J'écris un programme Visual C++ dans une pure API Win32. Selon ma compréhension, je dois compiler séparément et générer un exécutable pour l'architecture x86 et x64. Comment puis-je les combiner en un seul exécutable et émettre le x64 au moment de l'exécution?Combiner des exécutables x86 et x64 dans un seul exécutable (comme les outils Sysinternals)
J'ai vu des outils Sysinternals faire la même chose, mais je ne sais pas comment cela est fait par programme. Dois-je inclure ma version x64 en tant que ressource dans x86, puis écrire dans le système de fichiers et CreateProcess?
Des pointeurs?
En général, les applications x86 s'exécutent très bien sur x64. Les outils sysinternals utilisent cependant des pilotes, qui doivent être construits pour l'architecture du noyau de droite – Bahbar
Mais les questions demeurent. Comment faire que les exécutables incase internes sont différents. –
Personnellement, je déteste la façon dont les outils sysinternals font cela. Ils créent et suppriment des fichiers inutilement chaque fois qu'ils s'exécutent et vous vous retrouvez avec deux fois plus d'entrées dans le gestionnaire de tâches (avec un exe qui reste assis en attendant de supprimer le binaire de l'autre). Je ne vois pas le point. Il n'est pas difficile de faire un installateur qui installe le bon fichier sur la machine, et pour les outils sans installateur, il n'est pas difficile de donner aux exes un exe dans un zip et de les laisser courir le bon (si l'un fonctionne le mauvais). –