Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » programm startet mit Verzögerung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
04.05.2007, 17:50 Uhr
Lensflare



Hallo.

Woran kann es liegen, dass ein Programm erst nach ca. 10 Sek anfängt die Befehle in main auszuführen?


C++:
//... include andere klassen

int main()
{
  printf("test"); //"test" wird erst nach ca. 10 Sekunden ausgegeben

  //...
}



ich habe keine statischen und auch keine konstanten variablen, sodass deren initialisierung so viel Zeit brauchen könnte.
der rest müsste ja erst beim erzeugen der objekte geschehen
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 04.05.2007 um 17:53 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.05.2007, 18:12 Uhr
Blubber2063



Naja daran das dein Rechner etwas überlastet ist , an deinem Programm wirds wohl nicht liegen, es sei denn da drunter kommen noch gewaltige Initialisierungen, alles was du lokal in der Main deklarierst wird natürlich auch komplett instantiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.05.2007, 18:29 Uhr
Lensflare




Zitat:
Naja daran das dein Rechner etwas überlastet ist

wenn diese 10 Sekunden vorbei sind, dann läuft das programm wieder rasend schnell weiter, so wie es sein sollte. Also scheint er nicht überlastet zu sein.


Zitat:
an deinem Programm wirds wohl nicht liegen, es sei denn da drunter kommen noch gewaltige Initialisierungen

was drunter kommt müsste doch egal sein, weil die Verzögerung vor dem printf() stattfindet.

Ich habe jetzt sogar alles aus der main entfernt, bis auf die ausgabe

C++:
// include andere klassen

int main()
{
  printf("test"); //"test" wird erst nach ca. 10 Sekunden ausgegeben
  getchar();
}


und die Verzögerung ist trotzdem da.

Meine (selbstgeschriebenen) Klassen sind auch ganz klein und enthalten keine riesen-arrays oder sowas.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 04.05.2007 um 18:32 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.05.2007, 18:33 Uhr
Blubber2063



Naja grundsätzlich sollten Variablen vom Compiler immer beim Funktions(Block)eintritt initialisiert werden. Passiert es denn auch wenn du das Programm gleich danach noch mal startest ? Passiert bei deinen Includes irgendwas, also stehen in den Headern Initialisierungen (Variablen, Konstanten, etc )?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.05.2007, 18:44 Uhr
Lensflare




Zitat:
Passiert es denn auch wenn du das Programm gleich danach noch mal startest ?
Jedes mal, immer die selbe Verzögerung.


Zitat:
Passiert bei deinen Includes irgendwas, also stehen in den Headern Initialisierungen (Variablen, Konstanten, etc )?


nein, ich habe keine globalen variablen, und wie gesagt auch keine konstanten oder statics, weder in den headern, noch in den klassen.
in den headern sind ausschliesslich nur die klassen
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 04.05.2007 um 18:46 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.05.2007, 20:13 Uhr
Lensflare



oh man, ich habe gerade herausgefunen, dass das nur dann passiert, wenn ich das programm von visual studio aus starte, egal ob debug oder release.
Ist aber trotzdem irgendwie mysteriös.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.05.2007, 23:32 Uhr
Pablo
Supertux
(Operator)


wie wäre es damit?


C++:
printf("test");
fflush(stdout);


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.05.2007, 00:56 Uhr
Lensflare



ne, die verzögerung kommt trotzdem. Wie gesagt, das liegt an visual studio.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.05.2007, 10:20 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja das initialisiert erstmal alle debugsachen durch (vor allem new's sind da entsprechend langsam)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.05.2007, 23:22 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von FloSoft:
ja das initialisiert erstmal alle debugsachen durch (vor allem new's sind da entsprechend langsam)

trotzdem muss der pc da ganz schön ausgelastet sein damit man das mitbekommt...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: