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

Visual C++ Discussion :

problème de namespace et de timespec


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut problème de namespace et de timespec
    Bonjour, j'ai récupéré une appli développée en c++ sous linux, et j'essaie de la compiler avec VC++ 2005 Express, et j'ai un problème. J'ai à un moment un code de ce type :

    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
     
    #include <windows.h>
    #include <time.h>
    namespace NS
    {
       class C
       {
          protected:
             struct timespec mTime;
     
    /*
     * reste du code...
     */
     
       }
    }
    Et le problème c'est que l'objet mTime est reconnu comme étant de type NS::timespec, et donc ça plante à la compilation...
    Le code fonctionne sous Linux, donc je pense pas qu'il faille modifier grand chose pour que ça marche sous Windows...

    Quelqu'un saurait comment solutionner ce problème ?


    Merci d'avance !!

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Et en essayant ceci ?
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    struct ::timespec mTime;

    Edit: Ça ne changera rien, en fait c'est toute la structure timespec qui est inconnue au bataillon sur MSDN...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut
    Ça change juste le message d'erreur (de mémoire ça dit que timespec n'appartient pas au namespace global)

    Puisque ça n'existe pas dans MSDN, on peut supposer que timespec est spécifique au monde Linux. Il doit y avoir un équivalent Windows non ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut
    J'ai vu qu'il existait la fonction GetSystemTime pour Windows, qui mettait la date et l'heure dans une structure SYSTEMTIME.
    Le problème c'est que la précision de SYSTEMTIME est de l'ordre de la milliseconde alors que timespec va jusqu'à la nanoseconde... Et puis pour remplacer timespec par GetSystemTime dans un projet existant, ça va pas être une modification légère...
    En gros il faudra remplacer chaque occurence de timespec par un équivalent, en essayant de bien faire les choses pour limiter les changements... Ça promet !

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    GetSystemTimeAsFileTime() donne une précision de l'ordre de 100 nanosecondes.
    Du moins, c'est la précision du résultat, mais j'ignore si c'est aussi la précision du temps lui-même...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut
    Bon on va dire que c'est réglé... J'ai fait une classe supplémentaire qui recrée la structure timespec, et j'ai modifié chaque occurence (y'en avait pas trop) pour que ça compile...
    Quant aux nanoseconde, j'ai vu dans le code que les nano secondes récupérées étaient converties en millisecondes ; j'ai pas vérifié l'intégralité du code, mais apparemment ça ne gène pas si je me contente d'avoir des ns en multipliant des milli...

    C'est pas très propre mais bon ça permet d'avancer...

    Merci pour ton aide !

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

Discussions similaires

  1. [XSLT]Problème de namespace sur un export XMi (UML 2.1/XMi 2.1)
    Par CocoRambo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 25/06/2007, 09h50
  2. problème de namespace
    Par deubelte dans le forum C++
    Réponses: 10
    Dernier message: 30/05/2007, 12h48
  3. [C#/.NET 2.0] Problème de namespace/référence
    Par Tetram165 dans le forum Services Web
    Réponses: 2
    Dernier message: 05/01/2007, 01h55
  4. [XSD] Problème de namespace
    Par pierrelm dans le forum Valider
    Réponses: 3
    Dernier message: 14/09/2006, 01h19
  5. [DOM] Problème de namespace
    Par dauggui dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 26/04/2006, 07h22

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