MinGW (CodeBlocks 8.02) : sleep()

Persönliche Seite
Benutze Sleep(millisekunden).
Das ist in windows.h enthalten. Du kannst dir ein

#define sleep(x) Sleep((x))

machen, wenn du die Source nicht grossflächig ändern willst,

Checke unbedingt die Argumente des sleep, ob es Sekunden (POSIX sleep) 
oder Millisekunden (Windows Sleep) sind. Ggf. brauchst du einen 
Korrekturfaktor:

#define sleep(x) Sleep((x)*1000)
Gast
Hier die Fehlermeldung :

------------- Build: Debug in WriteBarcode ---------------

Compiling: main.cpp
J:\Barcode_Produktion\Barcode_Write\WriteBarcode\main.cpp: In function 
`int main(int, char**)':
J:\Barcode_Produktion\Barcode_Write\WriteBarcode\main.cpp:159: error: 
`sleep' was not declared in this scope
J:\Barcode_Produktion\Barcode_Write\WriteBarcode\main.cpp:159: warning: 
unused variable 'sleep'
Process terminated with status 1 (0 minutes, 1 seconds)
1 errors, 1 warnings



Mit <windows.h> und sleep(1000) (für 100ms). Bzgl. eine nicht 
funktionierenden sleep-Fkt in MinGW habe ich bereits unter Google schon 
etliche Hinweise gelesen. Doch nirgends stand etwas eindeutiges darüber 
dass es generell nicht geht.
Aufgrund der Fehlermeldungen würde ich mal sagen, dass da was 
Grundlegendes falsch ist "unused variable 'sleep'".
Achja und wie bereits gesagt wurde, die Funktion wird mit großem "S" 
geschrieben. Sofern die windows.h eingebunden ist sollte es klappen. Hab 
schon zig Anwendungen damit gemacht.
Ansonsten bitte deinen Quellcode posten.
Gast
Ob mit s bzw. S wird beides nicht akzeptiert. Windows.h ist auch 
eingebunden. Ich werde nun einmal den Compiler-Wechseln (Borland 5.5). 
Wie schon zuvor gesagt, sind im Netz diverse Hinweise zu finden, dass 
die Sleep-Fkt u.U. mit dem MinGW nicht richtig bzw. gar nicht 
funktioniert.
Daher habe ich hier mal kurz angefragt ob schon jemand die Funktion mit 
MinGW benutzt hat und diesbzgl. seine Erfahrung gemacht hat.
Gast
sleeptest.c
-----------
1
#include <windows.h>
2

3
int main (int argc, char**argv)
4
{ sleep (1000); printf("READY\n");
5
return 0;
6
}

Makefile:
---------
CFLAGS=-Wall

sltest: sltest.c
        gcc -o sltest sltest.c -lws2_32

Aktivierung:
------------
make
./sltest


Das tut es bei mir, nur mit dem Unterschied zu Unix,
dass die Zeitangabe als Millisekunden genommen wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.