Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

1

25.07.2009, 21:05

Ersatz für Sleep ()

Hi
Da bin ich wieder :)
Ich schreibe gerade eine Funktion und benötige dazu Sleep();.
Aber dann läuft es ja nur unter Windows!?(oder?)
Jetzt bräuchte ich eine andere Möglichkeit.
Wenn es jedoch keine gibt würde ich mir selbst eine schreiben, benötige dazu aber die Uhrzeit. Es gibt dazu zwar schon einen Thread aber diesen finde ich nicht! :?

Danke im Voraus :)
Pi mal Daumen = 18.84955592

2

25.07.2009, 21:31

Hm,

unter Linux das hier einbinden: unistd.h

Dann hast du genau die gleiche Funktion sleep().
Du musst jedoch aufpassen da diese die Zeit in Sekunden erwartet.

Eine weitere Funktion wäre usleep().
Diese erwartet die Zeit jedoch im Mikrosekunden.

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

3

25.07.2009, 21:50

Ich bräuchte eine die unter allen/ vielen Betriebssystemen läuft!
Tut das denn eine von diesen?

Danke im Voraus
Pi mal Daumen = 18.84955592

Gotbread

Alter Hase

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

4

25.07.2009, 22:02

warum willst du den eine pause machen?

GUI-apps machen bei GetMessage pause. eine renderloop macht bei
vsync pause, etc.

wenn du wirklich platformunabhängig schlafen willst, kannst du select
verwenden. einfach keinen socket angeben und die timeval struktur
füllen
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

5

26.07.2009, 01:29

Oder mittels Präprozessoranweisungen (#ifdef, #if) Fallunterscheidungen je nach Betriebssystem durchführen.

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

6

26.07.2009, 14:56

Ich würde mich jetzt für usleep entscheiden.
Ist sie den Plattformunabhängig und was muss ich einbinden?

Danke im Voraus
Pi mal Daumen = 18.84955592

7

26.07.2009, 15:00

Zitat von »"k|haos"«


unter Linux das hier einbinden: unistd.h

[...]

Eine weitere Funktion wäre usleep().
Diese erwartet die Zeit jedoch im Mikrosekunden.


:roll:

Und nein, wie schon gesagt ist sie nicht plattformunabhängig, dafür kannst dann aber die von Nexus vorgeschlagenen präprocessoranweisungen verwenden.

FLO2

Treue Seele

  • »FLO2« ist der Autor dieses Themas

Beiträge: 221

Beruf: Schüler

  • Private Nachricht senden

8

26.07.2009, 16:37

Hmm
Ich habe mir jetzt selber eine Funktion geschrieben.
Trotzdem Danke!
Pi mal Daumen = 18.84955592

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

9

26.07.2009, 16:51

Das ist unmöglich, man kann Sleep nicht selber schreiben ;)

Falls du eine Schleife gemacht hast, die wartet, bis die Zeit abgelaufen hast, vergeudest du nur CPU-Zeit, die andere Programme sicher besser nutzen können.
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Gotbread

Alter Hase

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

10

26.07.2009, 18:12

select!!
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

Werbeanzeige