Warum kompiliert einige Programme für x86 nicht unter x64 laufen, während einige tun

StackOverflow https://stackoverflow.com/questions/4303302

  •  29-09-2019
  •  | 
  •  

Frage

Ich habe, dass einige Programme gesehen, die von mir geschrieben wurden und für x86 montiert mit ml.exe läuft auf meinem Win 7 x64. Ich glaube, dies ist wegen der Wow-Technologie.

Es gibt jedoch einige Programme (nicht von mir geschrieben), die nicht laufen. Sie geben den Fehler, dass: Die Version dieser Datei ist nicht kompatibel mit der Version von Windows Sie ausführen. Überprüfen Sie das Computersystem infromation, um zu sehen, ob Sie eine x86 benötigen (32-Bit) oder x64 (64-bit) Version des Programms, und dann kontaktieren Sie den Software-Hersteller

Gibt es eine Möglichkeit, die EXE dieser Programme ändern kann, um es auf Win 7 x64 laufen zu lassen. Was ist der grundlegende Unterschied in diesen Programmen, die es von anderen Programmen machen, die transparent ausgeführt werden.

War es hilfreich?

Lösung

Sie sind eigentlich 8- oder 16-Bit-Programme. Windows x64 läuft in Long-Modus, der nicht virtuellen 8086-Modus nicht unterstützt, für solche Programme erforderlich. Es gibt keine Möglichkeit, sie zu machen arbeiten kurz von ihnen von der Quelle neu zu kompilieren oder sie in einer virtuellen Maschine ausgeführt wird.

Andere Tipps

Ein Grund kann Kombination von .NET und nativen Bibliotheken sein. .NET-Bibliotheken werden in Runtime als x64 kompiliert (wenn Sie nicht explizit x86 angeben) und nativen Bibliotheken laufen im x86-Modus. es kann nicht ausgeführt werden togehther.

Ein weiterer Grund ist der Zugang zu Registrierung. Abhängig von den verwendeten API, x86app in wow64 Modus kann auf einem anderen Teil der Registrierung weitergeleitet werden. Wenn der Zugriff auf die Registry API inkonsistent ist, kann es ein Problem machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top