[so] test 6

Stefan Bucur stefan.bucur at gmail.com
Sat Nov 17 00:02:07 EET 2007


> O fi mergand pe anumite sisteme, dar tu ar trebui sa scrii cod cat mai portabil.
> Sunt multe sisteme UNIX-like: Unix, Linux, *BSD (cu toate variantele -
> Free, Net, Open, MacOS), Cygwin, AIX, HP-UX, IRIX, MINIX, Solaris,
> True64, SCO Unix (nustiu pentur cat timp), Plan 9 from Bell Labs, etc.
> si inca multe altele de care nu prea auzi (sunt rutere care au
> implementate sisteme de operare proprietare Unix-like stripped-down
> ... care suporta doar un subset din POSIX, SysV sau alte standarde.)
>
> Mai mult, tu trimiti un ulong unei functii care asteapta un useconds_t
> care poate avea dimensiune de doua ori mai mica decat long.
> Depinzand de endiannessul masinii pe care rulezi codul vei avea
> diferite comporamente, daca sizeof(unsigned long)!=sizeof(useconds_t).
>
> --
> Lucian
>
> _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
>

Hai sa ne luam dupa niste solutii consacrate :) De exemplu comanda
"sleep" ia ca parametru un numar cu unitatea in secunde, insa numarul
acela poate fi floating point (deci accepta si milisecunde).

Ca sa vedem cum procedeaza in spate, ia rulati un "strace sleep
5.6789" si vedeti in ce apel de sistem se blocheaza comanda si
asteapta expirarea timpului ;)

Stefan Bucur

PS: "strace" monitorizeaza toate apelurile de sistem facute de un
program. Poate fi foarte bine utilizat si cu programele noastre pentru
debugging :)


More information about the so mailing list