Ausgabe !
-
Hi,
habe mir ein Buch für Anfänger gekauft und ist von M&T.
Nu habe ich gleich mal eine Frage bzu folgendem Code:#include <stdio.h> void main() { printf("ein text der erscheinen soll"); }
Habe es dann normal gelinkt und dann die erstellte .exe ausgeführt. es erscheint ganz kurz ein fenster und ist auch sofort wider wech. Liegt der Fehler im Code ?
der Linker hatte nicht gemeckert !
Gruß
Dennis
-
Dein Programm ist beendet, also schließt es sich. Das ist ein völlig normales Verhalten.
Zu dem Thema gibts hunderte von Posts mit Diskussionen und Lösungen.
-
Automatisches Schließen verhindern
cheers, Swordfish
-
system("sleep");
^^win-abhänig
-
@lippoliv: Warum postest du soetwas im ANSI C-Forum, wenn der FAQ-Eintrag alle Fragen *elegant* beantwortet?
cheers, Swordfish
-
lippoliv schrieb:
system("sleep");
^^win-abhänig
for(;;);
^^nicht systemabhängig.
-
fricky schrieb:
lippoliv schrieb:
system("sleep");
^^win-abhänig
for(;;);
^^nicht systemabhängig.
^^Endlosschleife die absturz des Progs irgendwann erzeugt, somit total unsauber
Swordfish schrieb:
@lippoliv: Warum postest du soetwas im ANSI C-Forum, wenn der FAQ-Eintrag alle Fragen *elegant* beantwortet?
cheers, Swordfish
Ich finde, ein anfänger (zumindes ich anfangs), fand es immer besser etwas übersichtliches zu haben, anstatt etwas was ich ur nich raffe...
und mit
void wait () { setvbuf(stdin,NULL,_IONBF,0); setvbuf(stdin,NULL,_IOFBF,BUFSIZ); getchar(); }
müsste man sich definitiv auseinandersetzeen, da ist doch
system("sleep");
einfacher oder nicht?
Man könnte übrigens auch
while( !kbhit() ) ;
machen...
-
lippoliv schrieb:
^^Endlosschleife die absturz des Progs irgendwann erzeugt, somit total unsauber
wieso sollte das programm abstürzen?
eine endlosschleife ist doch das genaue gegenteil eines absturzes: ein absolut fehlerfreier code, der läuft und läuft und läuft und...
-
fricky schrieb:
lippoliv schrieb:
^^Endlosschleife die absturz des Progs irgendwann erzeugt, somit total unsauber
wieso sollte das programm abstürzen?
eine endlosschleife ist doch das genaue gegenteil eines absturzes: ein absolut fehlerfreier code, der läuft und läuft und läuft und...
Ja ok absturz ist falsch formuliert: Windoof schießts irgendwann ab (Zumindest XP u. Vista machen das nach einer weile)
-
lippoliv schrieb:
Windoof schießts irgendwann ab (Zumindest XP u. Vista machen das nach einer weile)
vielleicht hast du zu wenig wärmeleitpaste unterm prozessorkühler, aber eigentlich sollte windoofs nichts passieren. es läuft nur etwas träge, wenn irgendwo endlosschleifen rumsausen.
-
Nein mein Windows schießt endlosschleifen ab...
Also Vista fragt halt "Soll auf das und das Programm gewartet werden oder Wollen sie es Beenden" und WinXP schießt dann bei Konsolenanwenudngen allerdings nur son Proggi ab...Ich muss das nochmal testen, aber ich lgaube ich hatte da schon ein paar progs, die einfach beendet wurden xD
Vista aber auf jeden fall!
-
also bei meinem XP passiert nix. und vista? naja, dazu verkneife ich mir jetzt mal jeglichen kommentar.
-
fricky schrieb:
also bei meinem XP passiert nix. und vista? naja, dazu verkneife ich mir jetzt mal jeglichen kommentar.
immer diese Vorurteile... Vista ist (auch für Programmierer) in vielerlei Hinsicht besser...
Nenn mir mal bitte nen nachteil... (is zwar nich Topic aber egal) xD
Vorteil:
+Vista hat besseres Fehlerhandling (siehe meine 2 posts)
+Vista ist "hübscher"
+Vista ist schneller (klar: nicht mit nem trabbi-pc)Nachteile:
-Vista braucht bischen mehr resourcen (das wurde bei XP auch angemangelt)
-In Vista findet sich noch nicht jeder zurecht(was daran liegt das es aufgrund von voruteilen wenige nutzen)
-...?Also nich bös gemeint jetzt, nur fand ich nochkeinen der wirklich richtige argumente bringen konnte
-
lippoliv schrieb:
Vista ist schneller (klar: nicht mit nem trabbi-pc)
Aber nur beim Befüllen des Speichers...
-
Tachyon schrieb:
lippoliv schrieb:
Vista ist schneller (klar: nicht mit nem trabbi-pc)
Aber nur beim Befüllen des Speichers...
Falsch!
Vista ist auch beim Start schneller...
Da Berichten viele Blogs drüber...
-
Ja ich hab hier 1,8 GB RAM als "im Cache" makiert. Also für superfetch. Mein gott, das ding benutzt den RAM und lässt den nich nur blög rumgammeln...
Also ich finde es hilfreich wenn VS innerhalb einer sekunde startet, und nicht > 10 sec. rumrödelt.
-
rggr schrieb:
Ja ich hab hier 1,8 GB RAM als "im Cache" makiert. Also für superfetch. Mein gott, das ding benutzt den RAM und lässt den nich nur blög rumgammeln...
Also ich finde es hilfreich wenn VS innerhalb einer sekunde startet, und nicht > 10 sec. rumrödelt.^^ Du glücklicher.. inna Schule dauerts.. naja... > 50 sek... Das ist übrigens echt schlecht xD
-
lippoliv schrieb:
[...] und mit
void wait( ) { setvbuf( stdin, NULL, _IONBF, 0 ); setvbuf( stdin, NULL, _IOFBF, BUFSIZ ); getchar( ); }
müsste man sich definitiv auseinandersetzeen, da ist doch
system( "sleep" );
einfacher oder nicht?
Man könnte übrigens auch
while( !kbhit( ) );
machen...
Ja, mit ersterem müsste man sich auseinandersetzten. Verdammt, der OP hätte dabei gelärnt, was
setvbuf( )
macht... Hätt' ihm sicher geschadet.mit 2) und 3) muss man sich natürlich nicht beschäftigen, da natürlich auf den ersten Blick klar ist, was die Funktion
system( )
macht, und wassleep
ist... waskbhit( )
und dann noch mit!
davor ist, ist auch klar wie Kloßbrühe ... und natürlich ANSI C...cheers, Swordfish
-
Erstmal zurück zum Thema:
ffängers Compiler bastelt eine Konsolenapplikation, rödelt die ab und schließt die Konsole wieder. Das heißt erstmal nichts Schlechtes und dem Frager fehlt nur das Feedback, ob wirklich "hello world" oder ein böser Fehler ausgespuckt wird. Wenn man sich nicht wirklich mit der Konsolensteuerung auseinandersetzen oder immer solche while(1)- Boxen brutal abknallen mag: Da gab es mal native Compiler für DOS, die immer höflich gefragt haben, ob man jetzt zur IDE zurück darf, bevor das Aus/Eingabefenster gekillt wurde. Da man es selten schätzt, daß eine olle DOS- Kamelle sein Zeug in das Vista- C:\ schüttet, bin ich dazu übergegangen, sowas in VMWare- Maschinen zu packen. Ja, geht auch mit XEN oder VirtualPC und Co, einfach probieren ...
Das Schöne ist halt, daß in diesen Boxen die alten Sachen von "damals" weiterleben, ohne den Wirt in irgendeiner Weise zu kratzen. Man kann dann nach DOS- basiertem Lehrbuch vorgehen und sich den anderen Widrigkeiten der GUI- Zeit später widmen.Ein bißchen OT doch noch:
Soviel Zeit kann kein Precaching wettmachen, was mich das völlig vergurkte UAC in Vista an Zeit bereits gekostet hat. Kryptische Meldungen ohne Aufschluß, was ich wirklich freischalten soll oder doch lieber nicht oder doch? Wie oft muß man VStudio im Vergleich zu XP starten, um das aufzuholen?
-
Swordfish schrieb:
mit 2) und 3) muss man sich natürlich nicht beschäftigen, da natürlich auf den ersten Blick klar ist, was die Funktion
system( )
macht, und wassleep
ist... waskbhit( )
und dann noch mit!
davor ist, ist auch klar wie Kloßbrühe ... und natürlich ANSI C...cheers, Swordfish
Ok, mit system und so hätt man auch kurz schaun könn, aber
system( "cmdlineaufruf" );
was is daran schwer, das is einfacher als 3 params auswendig lernen...sleep( millisecondsAsInt );
is auch nicht wunderlich scher und
BOOL kbhit( void );
... ^^ ist das nicht doch irgendwie einfacher als die sachen aus der FAQ wenn man noch echt wenig ahnung hat?Joa gut, is halt nicht 100% ANSI C und es benötigt Windows, aber wie gesagt, erstmal einfacher zu verstehen.
Finde ich
Is ja keiner Gezwungen sowas zu machen