Zeitverzögerung
-
Elektronix schrieb:
[cpp]
i(i=0; i<10000; i++)
{
...
}was natürlich auf unterschiedlichen plattformen (cpu, etc) unterschiedliche wartezeiten bringt. während sleep so halbwegs immer gleich bleibt.
-
Bezweifle ich nicht. Gibt es denn für DOS/Console eine Verzögerungsroutine mit Zeitkonstante?
-
Elektronix schrieb:
Bezweifle ich nicht. Gibt es denn für DOS/Console eine Verzögerungsroutine mit Zeitkonstante?
Sleep(schlafkonstante);
-
Elektronix schrieb:
@miller_m
Bezweifle ich nicht. Gibt es denn für DOS/Console eine Verzögerungsroutine mit Zeitkonstante?wollte es nur klar stellen für den threadersteller
im standard c gibt es noch den time.h header. dort sind einige funktionen mit der man sich eine eigene sleep funktion basteln könnte.
-
Ich habe jetzt ein neues Problem und habe mir gedacht dass ich nicht extra einen neuen Tread aufmachen muss:
Ich hab mit das Visual c++ 2005 von mircrosoft runtergeladen und installiert.
Ich kann aber irgendwie gar keine Projekte kompilen weil dann immer viele Fehler kommenhier ein Beispiel:
#include <iostream> #include <windows.h> using namespace std; #pragma comment (lib, "winmm.lib") int main() { srand (timeGetTime()); int auswahl; int zahl; do { cout << "1. W6 " << endl; cout << "2. W20 " << endl; cout << "3. W32 " << endl; cout << "4. W100 " << endl; cout << "5. Nix Mehr " << endl; cin >> auswahl; switch (auswahl) { case (1): { zahl = (rand()%6+1); cout << "Die Wuerfel sind gefallen und sagen dir du hast eine " << zahl << " gewuerfelt" << endl; }break; case (2): { zahl = (rand()%20+1); cout << "Die Wuerfel sind gefallen und sagen dir du hast eine " << zahl << " gewuerfelt" << endl; }break; case (3): { zahl = (rand()%32+1); cout << "Die Wuerfel sind gefallen und sagen dir du hast eine " << zahl << " gewuerfelt" << endl; }break; case (4) : { zahl = (rand()%100+1); cout << "Die Wuerfel sind gefallen und sagen dir du hast eine " << zahl << " gewuerfelt" << endl; } } }while (auswahl != 5); return 0; }
Da kommen folgende Fahler:
----- Erstellen gestartet: Projekt: jobst, Konfiguration: Debug Win32 ------
Kompilieren...
jobst.cpp
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(7) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(12) : error C3861: "srand": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(12) : error C3861: "timeGetTime": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(18) : error C2065: 'cout': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(18) : error C2065: 'endl': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(23) : error C2065: 'cin': nichtdeklarierter Bezeichner
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(29) : error C3861: "rand": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(34) : error C3861: "rand": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(39) : error C3861: "rand": Bezeichner wurde nicht gefunden.
c:\dokumente und einstellungen\rhino\eigene dateien\visual studio 2005\projects\jobst\jobst\jobst.cpp(44) : error C3861: "rand": Bezeichner wurde nicht gefunden.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\rhino\Eigene Dateien\Visual Studio 2005\Projects\jobst\jobst\Debug\BuildLog.htm" gespeichert.
jobst - 10 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Mach ich irgenwas falsch oder hab ich eine falsche Sprache eingestellt
Bei meinem alten Kompiler hat das alles wunderbar geklappt.
Wenn mich einer im Icq adden will und mir helfen will 315-208-847
thx
-
Never change a running system...
-
auf deutsch`?
-
#include <stdio.h> /* Ich hoffe das ich mit diesem Code helfen konnte */ int main() { int Durchgang = 0; int Zahl = 0; int Beliebig = 150000000; /* 1 Sekunde entspricht 150000000*Durgang */ #define Sleep while(Zahl<Beliebig) {Zahl++; } while(Durchgang<1) { Sleep; printf("Schleifen durgänge:%d",Zahl); Durchgang++; } }
Wichtig! Ich habe diesen Code auf einem 32-bit Prozessor getestet es könnte also sein das es sich auf 64-bit anderst benimmt
-
hier mal was mit Auflösung Microsekunde:
boolean SleepMicroSeconds(int micro_sec){ LARGE_INTEGER time1, time2; int aufloesung_ns, time_mircoseconds; if(QueryPerformanceFrequency(&time1) == FALSE){ return FALSE; } aufloesung_ns = (int)(1000000000/time1.QuadPart); QueryPerformanceCounter(&time1); do{ QueryPerformanceCounter(&time2); time_mircoseconds = (((int)(time2.QuadPart - time1.QuadPart))*aufloesung_ns)/1000; if(time_mircoseconds < 0){ break; } }while(time_mircoseconds < micro_sec); return TRUE; }
-
Übrigens: es gibt tatsächlich C++11 eine sleep... commando. Siehe hier:
http://www.cplusplus.com/reference/thread/this_thread/sleep_for/
schnurres schrieb:
Ich hab mit das Visual c++ 2005 von mircrosoft runtergeladen und installiert.
Besser nicht. Nimm mindestens Visual Studio 2013. Oder Code::Blocks
-
coder777 schrieb:
schnurres schrieb:
Ich hab mit das Visual c++ 2005 von mircrosoft runtergeladen und installiert.
Besser nicht. Nimm mindestens Visual Studio 2013. Oder Code::Blocks
Hast Du mal nachgesehen, WANN dieses Posting verfasst worden ist?