Portál AbcLinuxu, 14. července 2025 15:27
#include <time.h> #include <stdio.h> #include <stdlib.h> int main(){ printf("start."); sleep(5000); /* alebo usleep(5); */ printf(".stop\n"); }mal by vypisat "start." a za pet sekund ".stop". bohuzial pri pouziti sleep caka pet sekund a potom naraz vypise "start..stop" pri pouziti usleep vobec necaka a rovno to vypise. v pripade ze takto (u)sleep nefunguje skuste ma odkazat na nejaky rozumny manual ak by to takto malo fungovat a viete co je vo veci tak vdaka za rady. slackware 11; kernel 2.4.33.3; gcc 3.4.6
#include <time.h> #include <stdio.h> #include <stdlib.h> int main(){ fprintf(stderr, "start."); sleep(5000); /* alebo usleep(5); */ fprintf(stderr, ".stop\n"); }
nacti();
glClearColor (1.0f, 1.0f, 1.0f, 0.5f);
glClear (GL_COLOR_BUFFER_BIT);
glPushMatrix ();
glColor3f(0.0, 0.0, 0.0);
osy();
krizek(r[0]/zoom,r[1]/zoom);
mySleep(1000);
krizek(r[1]/zoom,r[0]/zoom);
glPopMatrix ();
SwapBuffers (hDC);
Sleep (500);
čeká úplně na začátku a až pak načítá, maluje osy a křížky...
jen pro úplnost:
void mySleep(DWORD ms)
{
DWORD time0;
time0=GetTickCount();
while ( GetTickCount() < (time0+ms) );
}
nepomáhá ani fflush s stdout, stdin nebo stderr umístěný před mysleep...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.