[Visual C++] Sleep?

Pagina: 1
Acties:

  • GREENSKiN
  • Registratie: November 1999
  • Laatst online: 20-07 09:56
Ik ben pas begonnen met een OpenGL tutorial onder Visual C++, en dit is dus ook mijn eerste stappen met Visual C++. Heb op school wel 't vak C++ gehaald, maar ben er nog niet echt een kei in, vind ik. Wel veel Java ervaring.

Maargoed, mijn vraag: Ik wel heel simpel iets als sleep(10); kunnen uitvoeren, om 10 miliseconden te wachten in die functie waar ik op dat moment ben. Hoe?

Verwijderd

Heel simpel:
code:
1
 Sleep(10);

eenvoudiger kan het niet :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-09 18:16

Creepy

Tactical Espionage Splatterer

gewoon sleep(10); toch? Sleep is een API-Call
probeer anders es msleep(10);

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Access
  • Registratie: Juni 2001
  • Laatst online: 06-08 19:54
PHP:
1
2
3
4
5
6
<?
void Funcie()
{
    Sleep(10);
}
?>

Zonder de "<?" & "?>" natuurlijk.
Met een hoofdletter S dacht ik.

Verwijderd

Op donderdag 13 september 2001 14:26 schreef Creepy het volgende:
gewoon sleep(10); toch? Sleep is een API-Call
probeer anders es msleep(10);
sleep() en msleep() bestaan niet in VC++ dacht ik toch ?
Sleep mèt hoofdletter is idd een API call. Geen probleem toch? Als het een OpenGL app is, kan je toch niet om de API heen. Dus imho is Sleep the way to go.

edit:

MSDN zegt niets over een msleep of usleep functie in Visual C++

  • Sjonny
  • Registratie: Maart 2001
  • Laatst online: 09:08

Sjonny

Fratser

ziet er naar uit dat jij ook niet wakker bent :)
check anders iets van usleep ofzo ..

The problem is in the part of your brain that handles intelligence.


  • GREENSKiN
  • Registratie: November 1999
  • Laatst online: 20-07 09:56
Argh, Sleep. Met een hoofdletter dus. Bedankt! Ik ben helemaal de Java stijl van functies gewend (beginnend met een kleine letter). Dank!

  • Darkvater
  • Registratie: Januari 2001
  • Laatst online: 26-08-2024

Darkvater

oh really?

Sleep bestaat wel, kijk maar in de help. Je moet wel iets includen, weet niet meer precies wat. Stdio of zo.

In ieder geval wordt het helemaal bovenaan:

#include <stdio.h>


Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge


Verwijderd

Op donderdag 13 september 2001 14:32 schreef Darkvater het volgende:
Sleep bestaat wel, kijk maar in de help. Je moet wel iets includen, weet niet meer precies wat. Stdio of zo.

In ieder geval wordt het helemaal bovenaan:

#include <stdio.h>
Indien je Sleep wilt gebruiken moet je windows.h includen.

In STDLIB.H vond ik dit:
code:
1
2
3
4
5
6
7
8
/* --------- The following functions are OBSOLETE --------- */
/* The Win32 API SetErrorMode, Beep and Sleep should be used instead. */
#ifndef _MAC
_CRTIMP void __cdecl _seterrormode(int);
_CRTIMP void __cdecl _beep(unsigned, unsigned);
_CRTIMP void __cdecl _sleep(unsigned long);
#endif  /* ndef _MAC */
/* --------- The preceding functions are OBSOLETE --------- */

Blijkbaar bestaat sleep wèl, maar wordt niet meer gebruikt.

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 19-09 17:21
MSDN:

VOID Sleep(
DWORD dwMilliseconds // sleep time in milliseconds
);

Header: Declared in winbase.h.
Import Library: Use kernel32.lib.
Sleep laat alleen de huidige thread slapen (en dat is dan ook waarschijnlijk wat je wilt).

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Primal
  • Registratie: Augustus 2001
  • Laatst online: 11-09 14:32
In plaats van de Sleep functie (die wel degelijk bestaat voor de twijfelaars onder ons), zou ik een 'WaitForSingleObject' functie gebruiken. Deze is nauwkeuriger. En is voor multi-threaded programmeren aan te raden (maar ook aan te raden als je niet gebruik maakt van threads). Maar aangezien je aangeeft dat je net komt kijken, zul je wel niet multi-threaded bezig zijn. :)

Als je hem toch wilt gebruiken, moet je een event creeren. Dit doe je met de functie 'CreateEvent'.

Als je vragen hebt, lees ik het wel.

"The fastest code, is the code that is never called."


  • GREENSKiN
  • Registratie: November 1999
  • Laatst online: 20-07 09:56
Nog niet multithreaded nee, maar dat was wat ik nu uit wou gaan zoeken hoe het werkt in Windows met C++. OpenGL-API heb ik onder de knie, had Sleep even nodig om iets te testen.

Allemaal dank voor de hulp, hoewel dat wijzen op die hoofdletter voldoende was ;-)
Pagina: 1