"time_t" sait gᅵrer le temps jusqu'aux secondes.
Est-ce qu'il existe un outil plutᅵt standart pour gᅵrer le temps et qui
sait travailler jusqu'aux millisecondes ?
D'avance merci,
-TSalm
>Est-ce qu'il existe un outil plut�t standart pour g�rer le temps et qui
>sait travailler jusqu'aux millisecondes ?
En th�orie, clock() devrait convenir.
http://www.cplusplus.com/reference/clibrary/ctime/clock/
Toutefois, sous Windows, il est relativement difficile d'obtenir une
r�solution meilleure que 15 ou 16 millisecondes : il faut bricoler
avec des fonctions sp�cifiques � Windows, comme
QueryPerformanceCounter().
> On Tue, 17 Nov 2009 18:32:21 +0100, TSalm <ts...@free.fr>:
>
>> Est-ce qu'il existe un outil plutᅵt standart pour gᅵrer le temps et qui
>> sait travailler jusqu'aux millisecondes ?
>
> En thᅵorie, clock() devrait convenir.
> http://www.cplusplus.com/reference/clibrary/ctime/clock/
>
> Toutefois, sous Windows, il est relativement difficile d'obtenir une
> rᅵsolution meilleure que 15 ou 16 millisecondes : il faut bricoler
> avec des fonctions spᅵcifiques ᅵ Windows, comme
> QueryPerformanceCounter().
>
Non, je voulais parler du temps dans le sens
annᅵes,mois,jours,heures,minutes,secondes,millisecondes.
Il me semble que ca tiendrait dans un <long long>, alors que <time_t> ne
tiens que dans un <long> et ne gᅵre que jusqu'aux secondes.
>Non, je voulais parler du temps dans le sens
>ann�es,mois,jours,heures,minutes,secondes,millisecondes.
POSIX d�finit gettimeofday(). Mais comme d'hab', tu vas te heurter au
fait que Windows n'est pas POSIX...
Sous Windows, il y a GetSystemTime() et GetLocalTime().
http://msdn.microsoft.com/en-us/library/ms724950%28VS.85%29.aspx
--
Richard
>Sous Windows, il y a GetSystemTime()
...et Cygwin.
Pour une compatibilit� POSIX, on doit pouvoir s'en passer. P.ex avec :
http://www.cadforte.com/system64.html
--
Richard
> Le 17/11/2009 19:41, Fabien LE LEZ a ᅵcrit :
>> On Tue, 17 Nov 2009 19:17:13 +0100, Richard Delorme
>> <abu...@nospam.fr>:
>>
>>> Sous Windows, il y a GetSystemTime()
>>
>> ...et Cygwin.
>
> Pour une compatibilitᅵ POSIX, on doit pouvoir s'en passer. P.ex avec :
>
> http://www.cadforte.com/system64.html
>
Merci pour vos rᅵponses.
Heureux utilisateur de MinGW, je dispose bien <sys/time.h>.
> >Est-ce qu'il existe un outil plutôt standart pour gérer le
> >temps et qui sait travailler jusqu'aux millisecondes ?
> En théorie, clock() devrait
> convenir.http://www.cplusplus.com/reference/clibrary/ctime/clock/
> Toutefois, sous Windows, il est relativement difficile
> d'obtenir une résolution meilleure que 15 ou 16 millisecondes
> : il faut bricoler avec des fonctions spécifiques à Windows,
> comme QueryPerformanceCounter().
La fonction clock() ne convient pas du tout, puisque d'une part,
ce qu'elle est censée mesurer, c'est le temps CPU utilisé par le
programme, et non le temps tout court, et de l'autre, la
résolution n'est pas spécifiée, et est rarement jusqu'aux
millisecondes. (Historiquement, dans les premiers Unix, où la
fonction a vue le jour, CLOCKS_PER_SECOND était 50 ou 60, selon
que la machine se trouvait en Europe ou aux États-unis. La norme
Posix exige que CLOCKS_PER_SECOND vale 1000000, mais dit
explicitement que la resolution dépend du système.)
Et sous Unix et sous Windows il y a des fonctions fournissant
une meilleur résolution, mais elles ne sont pas portables.
--
James Kanze