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

C++ Discussion :

problème avec la librairie asm/uaccess.h


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut problème avec la librairie asm/uaccess.h
    bonjour à vous,

    voilà je fais appel à la librairie asm/uaccess.h et le compilateur me revoie les erreurs suivantes :


    In file included from compat.h:49,
    from client_debAb4RSSI.c:36:
    uaccess.h:42: error: expected constructor, destructor, or type conversion before ‘->’ token
    uaccess.h:43: error: expected constructor, destructor, or type conversion before ‘=’ token
    uaccess.h:44: error: expected constructor, destructor, or type conversion before ‘(’ token
    uaccess.h:44: error: expected declaration before ‘}’ token
    qui font références au code suivant (lignes 41 jusqu'à 47) contenu dans uaccess.h


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #define set_fs(x) 
    ({                                                                      
           unsigned long __pto;                                            
           current->thread.mm_segment = (x);                               
           __pto = current->thread.mm_segment.ar4 ?                        
                   S390_lowcore.user_asce : S390_lowcore.kernel_asce;      
           __ctl_load(__pto, 7, 7);                                        
    })
    que pourrais-je faire pour régler le problème ?

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonjour,
    Ce genre d'erreur est typiquement lié à une déclaration absente (donc souvent un include manquant). Par exemple, qu'est supposé être current ? Où est-il déclaré et de quel type ?
    Autre chose, la forme de la macro ({[...]}) me surprend. Ce sont ces parenthèses extérieurs couplées aux accolades qui sont inhabituelles.

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    en fait, current est défini comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define get_fs()               (current->thread.mm_segment)
    en ce qui concerne les parenthèses et les accolades je ne sais que dire ... si ce n'est qu'en enlevant les accolades j'ai encore plus d'erreurs.

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Autre chose, la forme de la macro ({[...]}) me surprend. Ce sont ces parenthèses extérieurs couplées aux accolades qui sont inhabituelles.
    Extension de gcc: http://gcc.gnu.org/onlinedocs/gcc-4....tatement-Exprs
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Merci pour l'info, je ne connaissais pas. Ça ressemble à une lambda en macro.
    Citation Envoyé par black_clouds Voir le message
    bonjour,

    en fait, current est défini comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define get_fs()               (current->thread.mm_segment)
    en ce qui concerne les parenthèses et les accolades je ne sais que dire ... si ce n'est qu'en enlevant les accolades j'ai encore plus d'erreurs.
    Ce n'est pas la définition (au sens C++) de current. De quel type est current ? D'où vient cette variable ?

  6. #6
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Merci pour l'info, je ne connaissais pas. Ça ressemble à une lambda en macro.
    Manque les paramètres et la possibilité de passer le résultat comme pointeur de fonction pour avoir une lambda.

    En passant, quand je vois constructor dans un message d'erreur pour un .c, je me demande si on ne compile pas en C++ qqch qui devrait être compilé en C.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    en fait, il s'avère que la variable current n'a pas été déclarée ! je ne trouve aucune trace de cette variable dans le code !

  8. #8
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Ca fait peut être parti des conditions d'utilisation de ces macros. Avoir une variable locale current initialisée comme il faut ? De quelle bibliothèque viennent ces macros ? Que dit l'aide ?

  9. #9
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Ca fait peut être parti des conditions d'utilisation de ces macros. Avoir une variable locale current initialisée comme il faut ? De quelle bibliothèque viennent ces macros ? Que dit l'aide ?
    Quand je vois des identificateurs commençant par S390_, je me demande si tout est configuré correctement (à moins que black_clouds travaille sur ces systèmes...)
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  10. #10
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Ca fait peut être parti des conditions d'utilisation de ces macros. Avoir une variable locale current initialisée comme il faut ? De quelle bibliothèque viennent ces macros ? Que dit l'aide ?
    pour autant que je sache elles viennent des bibliothèques réseau, puisque le code sert à la base à mesurer la puissance du signal reçu par un robot qui communique en Wifi avec un PC. en ce qui concerne l'aide ... je n'en ai malheureusement pas, je travaille sous gcc et j'ai pas de débugger ...

  11. #11
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Quand je vois des identificateurs commençant par S390_, je me demande si tout est configuré correctement (à moins que black_clouds travaille sur ces systèmes...)
    C'est du gros système, c'est ça ? J'avoue ma totale ignorance dans ce domaine. S390_, ça m'cause pas

    Citation Envoyé par black_clouds Voir le message
    pour autant que je sache elles viennent des bibliothèques réseau, puisque le code sert à la base à mesurer la puissance du signal reçu par un robot qui communique en Wifi avec un PC. en ce qui concerne l'aide ... je n'en ai malheureusement pas, je travaille sous gcc et j'ai pas de débugger ...
    Quel est ton environnement (PC, Windows, Linux) ? Quelles sont tes bibliothèques (tout maison ou pas) ?

  12. #12
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    C'est du gros système, c'est ça ? J'avoue ma totale ignorance dans ce domaine. S390_, ça m'cause pas
    Oui. Mainframe IBM, descendant des 360 (je ne connais pas le nom actuel, ce fut zSeries mais je crois que ce ne l'est pas reste, ce n'est plus S390 depuis un bout de temps mais c'est toujours ce qui est utilise dans les designations -- un peut comme x86 alors que ca fait bientot 20 ans qu'Intel n'utilise plus ce nom la).
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  13. #13
    Candidat au Club
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Quel est ton environnement (PC, Windows, Linux) ?
    je travaille sous linux, non pas par choix mais parce que ça m'a été imposé

    Quelles sont tes bibliothèques (tout maison ou pas) ?

    je ne suis pas sûr de comprendre la question

Discussions similaires

  1. Problèmes avec des librairies (.a et .so)
    Par André K dans le forum C
    Réponses: 2
    Dernier message: 23/10/2006, 15h58
  2. Problème avec la librairie POI
    Par clement42 dans le forum Documents
    Réponses: 3
    Dernier message: 18/11/2005, 19h11
  3. [GD] Problème avec la librairie GD et les header !!
    Par jesspepette dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/10/2005, 12h09
  4. Problème avec la librairie rfunc sous Firebird
    Par yayelix dans le forum SQL
    Réponses: 4
    Dernier message: 17/05/2005, 16h49
  5. Problème avec les librairies ZLIB et LIBPNG
    Par VenusX117 dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 14/03/2005, 14h49

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