Ich könnte mir vorstellen, dass es möglich wäre, eine kleine Software zu erstellen, die die notwendigen Elemente der 16-Bit-App nachahmt. Kennt jemand eine solche Lösung?
Eigentlich ist das nicht trivial. Eine x86-CPU im amd64-Modus bietet nicht nur viele Funktionen (Doppelregister, Doppel-MMX-Register, 64-Bit-Adressmodus, ...), sie verliert auch den Zugriff auf einige ältere Optionen. 32-Bit-Apps können problemlos ausgeführt werden. Es gibt jedoch keine Möglichkeit, 16-Bit-Apps nativ auszuführen. Daher müssen Sie wirklich eine ältere CPU emulieren. Die Emulation ist relativ langsam und nicht völlig trivial.
Die übliche Lösung dafür ist, das Ganze in eine VM zu packen, z. B. eine von qEMu betriebene, die andere CPUs emulieren kann.
Bei den Online-Vorschlägen wurde die 16-Bit-App in einer virtuellen Maschine ausgeführt. Das Ausführen eines ganzen Betriebssystems, nur um eine kleine App auszuführen, scheint ein Overkill zu sein.
Es ist etwas übertrieben. Die richtige Lösung wäre, die Anwendung entweder neu zu kompilieren und als ausführbare 64-Bit-Datei auszuführen (oft trivial, wenn die App gut geschrieben ist und Dinge wie size_t verwendet, anstatt nur anzunehmen, dass sich die Dinge nie ändern werden). Dies erfordert, dass Sie Zugriff auf den Quellcode haben, was nicht immer der Fall ist.
Umgehungen wären:
- Behalten Sie ein altes DOS / Windows 2/3 / 3.11-System bei (Bitte Gd NEIN )
- Führen Sie es in einer VM aus.
- Emulieren Sie die ältere Maschine über WINE .
Die erste Lösung wird nicht empfohlen. Sie würden mit auf alte OS geklebt werden, zB Windows 7 32 - Bit (nicht ein älteres O verwenden, die länger kein Updates installiert ist . Verwenden Sie XP nicht, es sei denn Sie würden OS vor wechseln 8 th von April 2014 . Oder ein dediziertes Host mit nicht verwenden Netzwerkzugriff, alle USB-Anschlüsse geschlossen, usw. Dies hat den offensichtlichen Nachteil, dass die Benutzerfreundlichkeit beeinträchtigt wird.
Es läuft großartig in einer VM. Es funktioniert, es kann isoliert werden. Die Sicherung ist einfach und Sie können die VM jederzeit auf eine neue Maschine migrieren. Zukunftssicherheit ist eine gute Sache.
Der offensichtliche Nachteil besteht darin, dass die VM ausgeführt wird. Ein Teil davon kann jedoch automatisiert werden (z. B. beim Booten des Desktops automatisch starten. Schließen Sie das Herunterfahren der VM an das Ausschalten von Fenstern usw.).
Die Emulation wird auch funktionieren und normalerweise langsamer. (Bei den meisten Ausnahmen, bei denen die Emulation schneller ist, handelt es sich um WINE, Linux und Spiele, bei denen der OpenGL-Aufruf unter Linux viel schneller war, was bei einigen Spielen einen unerwarteten Geschwindigkeitsgewinn von 40% zur Folge hatte). Langsamer ist jedoch nicht schlecht, wenn man bedenkt, dass die alte App wahrscheinlich auf etwa 16 MHz MHz 286 (16-Bit-Ära) und jetzt auf einem modernen Multi-GigaHertz-Kern lief. Selbst wenn es um 99% verlangsamte, wäre es immer noch schneller.
Trotzdem für einfache Wartung und zukünftige Proofs: Holen Sie sich eine VM mit win7-32 Bit und führen Sie Ihre App darin aus.