IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

l'horloge système en Microseconde :-)


Sujet :

VC++ .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut l'horloge système en Microseconde :-)
    bonjour

    je travaille sur un projet visual c++ /CLR mode console

    comment faire pour récupérer l'horloge système en microseconde

    Affichage heure:minute:seconde:microseconde

    le programme suivant marche très bien mais compatible avec d'autres plateformes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <stdio.h>
    #include <sys/time.h>
    int main(void)
    {
         struct timeval tv;
         struct timezone tz;
         struct tm *tm;
         gettimeofday(&tv, &tz);
         tm=localtime(&tv.tv_sec);
         printf(" %d:%02d:%02d %ld \n", tm->tm_hour, tm->tm_min,tm->tm_sec, tv.tv_usec);
    return 0;
    }
    1000 merci

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    voila la solution ( il faut installer the boost library)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <iostream>
    #include "boost/date_time/posix_time/posix_time.hpp" 
     
    typedef boost::posix_time::ptime Time;
     
     
    int main (){
     
        int i;
        Time t1;
     
        for (int i=0;i<1000;i++)
        {
     
             t1=boost::posix_time::microsec_clock::local_time();
         std::cout << to_iso_extended_string(t1) << "\n";
        }
     
     
        return 0;
    }

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 484
    Par défaut
    C'est aussi ridicule que de dire "il est environ 14h32min 5 seconde et 512 millième"
    Votre PC ne dispose pas d'une horloge atomique, et la fréquence de rafraichissement de votre écran de 100hz maximum donnera toujours l'heure en retard.

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    c'est vrai monsieur tu as 100% raison....

    mais je n'ai pas besoin de connaitre l'heure locale en microsecondes pour l'affichée sur l'écran

    c'est pour un processus industriel temps réel (hard).

    installe wareshark ou commview et observe bien le temps de capture
    des trames (genre 15:21:35,632514)

    A+ et merci pour l'intervention

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 484
    Par défaut
    c'est pour un processus industriel temps réel (hard).
    C'est bien, mais Windows n'est pas un système temps-réel, et encore moins hard.

    installe wareshark ou commview et observe bien le temps de capture
    des trames (genre 15:21:35,632514)
    Et bien j'espère que eux se base sur autre chose que la sauvegarde de la valeur d'un compteur à quartz lors de la dernière interruption d'horloge qui intervient selon une fréquence variable en fonction de l'OS ou des apprenties sorciers utilisant la fonction ExSetTimerResolution (http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx) dans un Driver.
    Genre, ils accèdent à des données stockées dans le hardware de la carte réseau Ethernet, etc...

    C'est donc toujours aussi RIDICULE.

  6. #6
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    merci pour l'information

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Horloge système sur réseau
    Par simo_20_11 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/05/2007, 14h58
  2. Comment faire une horloge système
    Par vantoff dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/07/2006, 16h29
  3. [Thread][Horloge système]Réveiller un thread selon l'horloge
    Par Magicmax dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 23/05/2006, 12h48
  4. Réponses: 4
    Dernier message: 25/04/2006, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo