Frage von gerlochi, 48

32bit Programme in DOS?

Hallo, es ist sehr schwer mit einem alten 16bit Compiler wie Borland C++ zu arbeiten. Da immer mehr Kryptische Fehlermeldungen kommen die beim gleichen Programmcode unter CodeBlocks nicht auftreten, wollte ich fragen ob es möglich ist 32bit Konsolenanwendungen die in C oder C++ geschrieben wurden, ob man diese mit hilfe von Software unter MS-DOS 6.* zum laifen kriegt.

Ist dies Möglich?

PS: Bitte fragt mich nicht nach den Fehlermeldungen bzw programmcode, es treten über 89 Errors beim BC compilieren auf...

Danke im vorraus.

Antwort
von zalto, 13

Hab das noch nie probiert, aber es gibt den "Digital Mars" Compiler, der auch noch die Erstellung von 16 Bit DOS Anwendungen ermöglicht.

http://www.digitalmars.com/shop.html

Aber bevor Du den Compiler wechselst und möglicherweise dann noch mehr Fehlermeldungen bekommst: Schau Dir die "kryptischen Fehlermeldungen" im einzelnen an und versuche sie zu verstehen. Möglicherweise sind das nur wenige "echte" Fehler und die große Masse sind Folgefehler. 

Kommentar von gerlochi ,

ja mach ich, danke :)

Expertenantwort
von martin7812, Community-Experte für programmieren, 27

Ein klares "Jein":

Prinzipiell ist es möglich, spezielle 32-bit-Programme unter MS-DOS zum Laufen zu bringen.

Theoretisch kann man ein 32-bit-Programm für ein Betriebssystem schreiben, das ein 32-bit-Programm für Windows ausführen kann. "WINE" wäre so ein Programm für Linux.

Rein theoretisch ist es also möglich. Ich selbst habe übrigens einmal darüber nachgedacht, ein ähnliches Programm (für einen selbstgeschriebenen MS-DOS-Clone) zu schreiben.

ABER:

Fertig wird es so ein Programm wohl noch nicht geben. So ein Programm zu schreiben ist nämlich alles andere als einfach...

Kommentar von gerlochi ,

danke für die antwort, ich frage mich immernoch wie ich dann meine eigene shell in dos zum laifen kriege :? .

Kommentar von martin7812 ,

Erst jetzt lese ich deine Frage so GANZ richtig: Du verwendest C++, nicht C und willst dich wahrscheinlich nicht auf bestimmte C++-Klassen und Befehle einschränken...

Das wird aus einem Grund schwer: Moderne Programmiersprachen wie C++ benötigt extrem viel Speicher:

Der billigste Rechner, den ich auf die Schnelle gefunden habe, hat 4.000.000 KB Speicher; unter DOS stehen einem maximal ca. 800 KB Speicher zur Verfügung. Das ist gerade mal 1/5000 von dem Speicher, was ein moderner Rechner hat.

Entsprechend muss man die Programme so programmieren, dass sie nur 1/5000 so viel Speicher benötigen, wie ein Windows-(Konsolen-)Programm!

Mit einem modernen Compiler wird das sehr, sehr schwierig!

Kommentar von gerlochi ,

hmm... dos wird das doch nicht ausführen können nur weil der speicher zu klein ist, oder doch?!

Keine passende Antwort gefunden?

Fragen Sie die Community