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

Langage Perl Discussion :

Utiliser le 'module Convert::Binary::C' et récupérer la valeur d'un #define


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut Utiliser le 'module Convert::Binary::C' et récupérer la valeur d'un #define
    Bonjour,
    Voici la situation :
    J'ai deux fichiers (.pl et .h).
    Le fichier .h est écrit en C. Je souhaite récupérer la valeur d'un #define présent dans le .h.
    Pour cela, j'ai bien entendu installer le module 'Convert::Binary::C'.
    J'arrive à récupérer la taille d'une structure avec sizeof, je pense que le module est donc opérationnel.

    Cependant, pour un #define Valeur 0x01, je ne sais pas comment faire pour récupérer la valeur 0x01.

    Si quelqu'un a une idée, je suis preneur!
    Merci et bonne journée

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    ça fait des lustres que je n'ai pas fait de C, mais as tu regardé ce module Inline::C ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Non, je ne connais pas ce module.
    Je vais regarder cela. Mon but est de ne pas modifier le programme en C existant.
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Arf, je viens de regarder et je n'ai pas trouvé mon bonheur malheureusement
    Une autre idée?
    Merci

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Pourquoi est-ce qu'une simple regexp ne te suffit pas ?

    --
    Jedaï

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Pourquoi est-ce qu'une simple regexp ne te suffit pas ?

    --
    Jedaï
    J'y ai pensé, mais je ne sais pas trop comment la mettre en place, vu que j'utilise un programme en C en même temps

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Bonjour,
    La solution avec les regexp avance! je récupère les valeurs que je veux.
    Par contre, je ne sais toujours pas si je peux faire la même chose avec le module 'Convert::Binary::C'.

    En supposant que j'ai un : #define Valeur 0x01, est-il possible de ne récupérer que Valeur : 0x01 (avec le : ajouté bien sûr au moment du print).
    Si une personne sait (possible ou non).
    Merci

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Bonjour,
    Avec les regexp, cela fonctionne! mais ce n'était pas ce que je voulais.

    La solution pour récupérer les #define avec le module Convert::Binary::C est simple et est la suivante : utiliser macro et si besoin est, utiliser les regexp.

    Exemple : my @nomsdef = $c->macro;

    Merci

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

Discussions similaires

  1. Decompression d'un fichier sans utiliser les modules du CPAN
    Par choubiroute dans le forum Modules
    Réponses: 6
    Dernier message: 10/03/2006, 14h20
  2. [VB]utilisation des modules en vb
    Par zidenne dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/01/2006, 11h19
  3. erreur lorsque j'utilise le module session
    Par vbcasimir dans le forum Modules
    Réponses: 13
    Dernier message: 14/10/2005, 13h41
  4. utilisation du module WWW::Hotmail
    Par mouette_fstt dans le forum Modules
    Réponses: 2
    Dernier message: 22/07/2005, 16h58
  5. [web] Probleme de passe de variable qd j utilise un module TK
    Par Slippers dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 19/04/2005, 17h48

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