Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[QUES] : timer en millisecondes

6 réponses
Avatar
Sebastien
Bonjour a tous,

je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.

A+

Sebastien

6 réponses

Avatar
Régis Troadec
Salut,

"Sebastien" a écrit dans le message de news:

Bonjour a tous,

je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.


si tu veux un timer en microsecondes, je te conseille de jeter
un oeil aux fonctions setitimer() et getitimer() de l'API POSIX,
ainsi qu'aux structures timerval et itimerval qui vont avec.

http://www.opengroup.org/onlinepubs/007904975/functions/setitimer.html

A coup de man sous linux tu devrais aussi avoir des infos

Regis

A+

Sebastien



Avatar
gregg
Sebastien wrote:
Bonjour a tous,

je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.


Bonsoir,

Ce n'est pas possible en C-ISO.
Par contre, en restant Posix, tu peux utiliser gettimeofday (dans
sys/time.h)
Le second champ de la structure timeval te donne des microsecondes,
qu'il est facile de convertir en millisecondes.

gregg

Avatar
Olivier Saladin
Cà dépend de ce que doit faire la fonction, si c'est pour dater un
évènement, gettimeofday est ton ami, si tu veux faire une pause de quelques
millisecondes, il faut faire attention car linux n'étant pas temps réel, tu
n'est pas assuré d'avoir la précision demandée, néamoins pour faire une
telle pause j'utilise nanosleep, (#include <time.h>) mais je ne sais pas si
c'est POSIX ?


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.613 / Virus Database: 392 - Release Date: 04/03/2004
Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Sebastien wrote:

je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.


Linux étant largement compatible avec Unix, tu auras une réponse plus ciblée
sur le forum de développement Unix :

news:fr.comp.os.unix

(de mémoire, gettimeofday())

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/

Avatar
kilobug

Bonjour a tous,
je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.


nanosleep dans time.h, compatible POSIX mais pas C ISO (donc,
disponible sur tous les "unix-like" mais pas forcément ailleurs).

--
Gael Le Mignot "Kilobug" - - http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org

Avatar
Kevin Barbier
Sebastien wrote:
je cherche a savoir comment faire pour avoir une fonction en
millisecondes. Je code sur un Linux. <unistd.h> (header non
standard, je c) me propose la fonction sleep mais c'est en
secondes.


<hs>
usleep() fonctionne comme sleep, mais prend des micro-secondes en
argument. cf -> 'man usleep'.
</hs>