---
title: "OS-indep sleep"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/104209-os-indep-sleep"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "fnolis"
published: "2004-05-24T06:52:33.000Z"
updated: "2004-05-25T20:42:06.000Z"
replies: 1
views: 204
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/104209-os-indep-sleep"
---

# OS-indep sleep

## #1 — fnolis, 2004-05-24T06:52Z

Letar efter ett sätt att ha en sleep som är os independent.
eftersom sleep, Sleep, usleep inte är samma på Windows och \*n\*x os borde man kunna göra

\#ifdef \_WIN32
\#define SLEEP Sleep(int ms)
\#else
\#define SLEEP usleep( int ms )
\#endif

eller ngt? fick iofs ett förslag att använda select() men det känns inte rätt...

Permalänk: https://www.webforum.nu/p/104209

## #2 — Sang-drax, 2004-05-25T20:42Z

Tanken är rätt, men syntaxen är fel...

```
#ifdef _WIN32
#define SLEEP Sleep
#else
#define SLEEP usleep
#endif
```

```
#ifdef _WIN32
#define SLEEP(ms) Sleep(ms)
#else
#define SLEEP(ms) usleep(ms)
#endif
```

Dessa två sätt fungerar. Ett ännu bättre sätt vore att skriva

```
void portableSleep(int ms)
{
  #ifdef _WIN32
    Sleep(ms);
  #else
    usleep(ms);
  #endif
}
```

På det sättet slipper man makron.

Permalänk: https://www.webforum.nu/p/1353874

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/104209-os-indep-sleep
