Wie kann ich DOS-Programme kompilieren auf Debian?
Für meine Assembler-Klasse, wir schreiben DOS-Programmen die Verwendung von DPMI. Leider habe ich keinen Zugriff auf ein 32-bit-windows-Maschine die ganze Zeit. Ich habe ein Debian in der virtuellen Maschine installiert ist, auf so ziemlich jedem Rechner, den ich verwenden.
Ich habe beide DOSBox und DOSEMU installiert. Gibt es eine Möglichkeit, die ich montieren kann, und kompilieren Sie die Programme unter Linux eher als DOS? Ich verwende nasm, so dass ich don ' T scheinen Probleme zu haben, bekommen es assembledin DOS-format. Aber ich habe Probleme, es läuft durch die compiler mit meinem C-code und ein DOS executable (entweder gcc oder MinGW).
Gibt es eine Möglichkeit, dies zu tun, oder bin ich ziemlich viel gehen zu müssen, installieren Sie die tools unter DOS?
- Du bist wahrscheinlich gehen zu müssen, zu zwingen, eine tool-chain int-DOS-vm. Ich weiß, das nervt. +1 und gefällt, ich hoffe, um zu sehen, eine gute Antwort auf diese.
- Versuchen MASM in der DOSBox...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir auch nicht sicher, ob Sie kompilieren können DOS-Anwendungen mit GCC. Vor langer Zeit gab es einen gcc-compiler-Variante namens DJGPP (oder so ähnlich). Nie hab ich es funktioniert aber.
Die Chancen, dass Sie können cross-compilieren eines GCC für DOS in diesen Tagen sind fast null.
Ich schlage vor, Sie geben die alten Watcom-Compiler zu versuchen. Es ist eine native DOS-compiler und es ist DPMI Umsetzung auch funktioniert wie ein Charme unter DosBox. Die Anbindung mit NASM kompiliert Objekt-Dateien ist kein problem (ich hab das vor ein paar Jahren)
Heute der compiler gemacht worden ist open-source und rief OpenWatcom.
http://www.openwatcom.org/index.php/Main_Page
--cross-prefix=i586-pc-msdosdjgpp-
mehr funktioniert als nicht. Habe gerade kompiliert (just for fun) FFmpeg für DOS.BCC ist in debian und in der Lage ist, anständigen code für 8080-bis 80386. Verwenden Sie die
-Md
wechseln Sie zum erstellen einer MS-DOS-binary.Wahrscheinlich der einfachste Weg, zu gehen für Sie ist, verwenden Sie die standard-DOS-tools für die Aufgabe.
DOSBOX ist ein wirklich guter emulator.
DJGPP ist lächerlich einfach zu installieren, minimum, nur drei .Reißverschlüsse sind erforderlich:
BNU219B.ZIP
(assembler, linker, librarian)GCC441B.ZIP
(C-compiler)DJDEV204.ZIP
(libc-Header)http://www.delorie.com/djgpp/getting.html
Produzieren DOS-kompatiblen Ausgang, müssen Sie entweder die DOS-hosted compiler in DOSEMU (nicht DOSBox!! viel zu langsam und buggy, bedeutete für Spiele) oder einen Linux-hosted-cross-compiler (DJ ' s-Website hat die RPMs für die).
Allerdings, wenn Sie 100% wollen 16-bit-code, müssen Sie etwas anderes verwenden (z.B. OpenWatcom). OpenWatcom unterstützt ebenfalls Linux (beta!!) host-und target (kein shared libs, obwohl, wenn ich mich Recht erinnere), aber Sie müssen eventuell selbst kompilieren mit GCC.