Anforderungen für Console

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Anforderungen für Console

Beitrag von techniker »

Hi!

Welches minimale Betriebssystem wird für Consolen-EXE's vorausgesetzt?
Gibt es da eine Übersicht?

Konkret - ohne es ausprobiert zu haben: Läuft eine erstellte EXE auf auf dem aktuellen FreeDOS1.2?
(Oder muss ich hier weiterhin bei FreeBASIC bleiben? :wink: )

Schöne Grüße
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Anforderungen für Console

Beitrag von RSBasic »

PB kann nur 32 Bit- und 64 Bit-Anwendungen kompilieren.
Wenn FreeDOS auch 32 Bit und vorallem MZ-/PE-Anwendungen ausführen kann, dann vielleicht.
Außerdem steht in jeder EXE-Datei folgende Anweisung drin:
This program cannot be run in DOS mode.
Ich vermute mal, dass es so nicht funktioniert. Es ist halt keine DOS-Anwendung, sondern nur eine Konsolenanwendung.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
techniker
Beiträge: 160
Registriert: 27.01.2016 11:08
Wohnort: BY

Re: Anforderungen für Console

Beitrag von techniker »

Hab ich schon vermutet - wäre auch zu schön gewesen ein Tool für alles zu haben.. ;-)
Danke.

(Unterstützung für ARM-Cores wäre allerdings eine super Sache.. :lol: )
Never change a running system - Never run a changed system!
(PB 6.03 LTS [x86])
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Anforderungen für Console

Beitrag von RSBasic »

+1
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Imhotheb
Beiträge: 192
Registriert: 10.10.2014 13:14
Computerausstattung: Intel 8086, 640 KB RAM, Hercules Video Adapter, 2 x 5 1/4" 360kb Floppy, MS-DOS 3
Wohnort: Wolfenbüttel

Re: Anforderungen für Console

Beitrag von Imhotheb »

Mit dem HX-DOS Extender sollten einfache win32 Programme auch unter FreeDOS laufen

https://de.m.wikipedia.org/wiki/HX_DOS_Extender
https://sourceforge.net/projects/hx-dos/files/
weil einfach einfach einfach ist ... mach' ich es anders
Benutzeravatar
DarkSoul
Beiträge: 689
Registriert: 19.10.2006 12:51

Re: Anforderungen für Console

Beitrag von DarkSoul »

Nicht alles, was wie DOS aussieht, ist DOS. :wink:

Die "MS-DOS-Eingabeaufforderung"oder "cmd" von Windows ist schon lange kein DOS mehr. Auch wenn Laien hier immer von einem "DOS-Fenster" sprechen. <)

Die API, auf die das Programm zugreift, ist bei DOS eine völlig andere als bei Windows. Windows-EXE hat eine Weiche drin, wovon ein Pfad zum bereits erwähnten "This program cannot..."-Stub (für DOS) und der andere eben in das Windows-Programm führt. Das verhindert die versehentliche Ausführung von Windowsprogrammen unter DOS.

Rein theoretisch könnte man statt dem Stub eine zweite Implementierung für DOS einbinden. Dann hätte man eine Exe, die unter DOS und Windows gleichermaßen verwendet werden kann. Manche Tools aus früheren Windows-Zeiten haben davon Gebrauch gemacht.

Auf Win64- und Linuxsystemen könntest du DOS-Programme gar nicht ausführen.

DOS arbeitet nämlich mit nur 16-Bit (von irgendwelchen Tricksereien mal abgesehen und selbst dann wird zunächst auf 16-Bit ausgeführt, bis im weiteren Programmablauf die Umschaltung auf 32-Bit stattfindet.).

Lange Rede, kurzer Sinn:
Wenn du eine Konsolenanwendung kompilierst, dann läuft diese auf dem Betriebssystem, für welches du kompiliert hast. Der einzige Unterschied zu einem normalen Programm ist: Den Konsolenprogrammen fehlt die grafische Benutzeroberfläche bzw. die Benutzeroberfläche ist auf der Konsole realisiert.
Die Mindestanforderungen sind daher (IMHO) dieselben wie bei einer "normalen" Anwendung mit grafischer Benutzeroberfläche. :)

Ansonsten bestimmst du durch den Programmzweck und durch deine Programmiertechnik die Mindestanforderungen. Je ressorcensparsamer du arbeitest, desto geringer fallen sie aus. Es gibt Konsolenprogramme, die keinesfalls "alt" sind und die volle Leistung des PCs fordern (z.B. ffmpeg, welches auf einem 486er ewig vor sich hinnuckeln würde)

Bis XP runter geht PB meines Wissens. Über noch ältere Windowsversionen mache dir mal keine Sorgem :wink:

Benötigst du eine DOS-Anwendung? Dann ist PB die falsche Programmiersprache (PB kann nicht für DOS kompilieren). Du wirst auf ältere Programmiersprachen zurückgreifen müssen, die das Betriebssystem unterstützen (QBasic, Turbo-Pascal, Turbo-C, VisualBasic 1.0.... oder für aufwändige Sachen direkt Assembler).

Wenn du nur ein Programm möchtest, das ohne Windows funktioniert: Es gibt Linux-Distributionen, die keine grafische Benutzeroberfläche besitzen, aber einen modernen PC vollständig unterstützen. :wink:
Bild
Antworten