Konsolenanwendung einmal ganz genau

OP #817637
Lesenswert?
• ▲
▼
Hallo an alle!

Ich würd ja nicht fragen, wenn ich nicht der Meinung wäre, dass es 
wirklich was neues ist. Fasst jeder von euch hat doch bereits eine 
Konsolenanwendung programmiert. Doch anders als bei Programmen, bei 
denen man ein Fenster und ähnliches hart selbst programmieren muss, 
scheint dies bei Konsolenanwendungen nicht der Fall sein zu müssen. Ich 
möchte nun wissen, wo der große Unterschied zwischen Konsolenanwendungen 
und dem Rest liegt, und welche Arbeit mir der Compiler oder die IDE beim 
Erstellen einer Konsolenanwendung abnimmt.

Mit freundlichen Grüßen

       Patrick O.
#817642
Lesenswert?
• ▲
▼
Patrick O. wrote:
> Doch anders als bei Programmen, bei
> denen man ein Fenster und ähnliches hart selbst programmieren muss,
> scheint dies bei Konsolenanwendungen nicht der Fall sein zu müssen.

Bei einer Konsolenanwendung muss man sich nie um die Programmierung 
irgendwelcher Fenster kümmern. Aber nicht, weil es einem abgenommen 
wird, sondern weil eine Konsolenanwendung einfach keine Fenster hat. Sie 
läuft auf/in einer Text-Konsole (daher der Name).
Gast #817674
Lesenswert?
• ▲
▼
> Ich möchte nun wissen, wo der große Unterschied zwischen
> Konsolenanwendungen und dem Rest liegt,

Das hängt vom System ab. Unter Linux gibt es z.B. keinen Unterschied. 
Unter Windows dagegen schon, da die Konsolenausgabe hier nicht einfach 
in ein virtuelles Terminal geleitet wird, sondern das Programm selbst 
ein Konsolen-Fenster aufmachen muß.

> und welche Arbeit mir der Compiler oder die IDE beim Erstellen einer
> Konsolenanwendung abnimmt.

Die IDE hat eigentlich nicht viel damit zu tun. Wenn's um Windows gehen 
sollte, so nimmt dir der Compiler das Erzeugen des Konsolenfensters und 
Umleiten der Standard-Ein- und -Ausgabe ab.
#819694
Lesenswert?
• ▲
▼
Eine Windows-Konsolanwendung hat keine Message-Queue und kann daher 
keine Windowsmessages empfangen. Sie unterscheidet sich nicht 
prinzipiell von einer Anwendung, wie man sie früher für DOS schrieb - 
das verfügt über keinerlei Window-Funktionalität.

Man kann unter Windows sogar noch das alte DOS-API verwenden und 
.com-Programme schreiben - primitiver gings auch zu DOS-Zeiten nicht...

Das Konsolfenster, das sich beim Start einer Konsol-App öffnet, wird von 
Windows bereitgestellt.
Persönliche Seite #819760
Lesenswert?
• ▲
▼
> Sie unterscheidet sich nicht
> prinzipiell von einer Anwendung, wie man sie früher für
> DOS schrieb - das verfügt über keinerlei Window-Funktionalität.

Nicht ganz. Einerseits kann eine Win32-Konsolenapplikation die Win32-API 
verwenden, was doch ein kleines bisschen andere Möglichkeiten bietet, 
andererseits kann eine Win32-Konsolenapplikation durchaus auch mit 
Windows-Fenstern zusammenarbeiten, am simpelsten geht das beispielsweise 
mit MessageBox(), aber auch das Senden von Nachrichten an andere Fenster 
ist möglich. Ebenso kann eine Konsolenapplikation nachträglich einen 
Nachrichtenhandler installieren und dann auf "normale" Art und Weise mit 
Fenstern hantieren.
#819795
Lesenswert?
• ▲
▼
Rufus t. Firefly wrote:
> Damit ist also auch klar, daß das Konsolenfenster erst /nach/
> Interpretation der Flags geöffnet/erzeugt oder beibehalten wird.

Allerdings wird das festgestellt, bevor die Applikation zum ersten mal 
die Kontrolle erhält.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren