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 :

Mode raw et problème de compilation


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut Mode raw et problème de compilation
    Bonjour à tous!!!

    J'ai voulu essayé le mode raw présenté ici:http://c.developpez.com/faq/?page=cl..._mode_raw_code

    Seulement, je n'arrive pas à enlever le warning qui se produit lors de la compilation avec GCC [je suis sous Ubuntu].

    Voici le message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    In file included from main.c:7:
    mode_raw.c: Dans la fonction « mode_raw »:
    mode_raw.c:21: attention : implicit declaration of function `cfmakeraw'
    J'ai donc vérifier si j'avais bien la lib termios.h, et oui je l'ai. Cependant, lorsqu'on regarde ce header, on voit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    75 #ifdef  __USE_BSD
         76 /* Set *TERMIOS_P to indicate raw mode.  */
         77 extern void cfmakeraw (struct termios *__termios_p) __THROW;
         78 #endif
    Donc est-ce que le code donné dans le cours n'est utilisable que pour un systeme BSD?
    Que doit-on faire pour utiliser ce code ? (Je pense que c'est une manipe au niveau de GCC nn?)

    Par avance merci!!

  2. #2
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Voilà ce que tu peux faire:
    1. Manipuler directement les flags de la struct termios (tcgetattr(), tcsetattr()), un peux casse-tête.
    2. Ajouter la définition de la macros _BSD_SOURCE (avant l'inclusion de l'entête termios.h)
      Sinon tu peux ajouter à ta ligne de commande (servant à la compilation) le paramètre -D_BSD_SOURCE.
    3. Utiliser ncurses (raw(), break()).


    Ceci étant dit l'utilisation de ncurses est à mon avis le meilleurs choix.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut
    Merci ssmario2!
    J'ai testé la deuxième méthode: ça marche.

    Juste une question: la derniere méthode n'est donc pas portable?(Puisqu'il faut installé cette librairie? )Est-ce que je me trompe?

    Il faudra que je jette un œil sur la premiere méthode!

    En attendant, je te remercie!

  4. #4
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    ncurses a été portée vers un grand nombre de système POSIX, en voici une version pour windows: Ncurses for Windows

    Nombreux sont les utilisateurs de Windows sur ce forum qui conseil PDcurses (cette dernière utilise les mêmes noms de fonctions que ncurses).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 59
    Par défaut
    Ok! Merci beaucoup pour toutes ces infos!

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

Discussions similaires

  1. Problème pour compiler en mode static
    Par tifil dans le forum Débuter
    Réponses: 9
    Dernier message: 11/12/2011, 15h23
  2. Réponses: 4
    Dernier message: 31/08/2009, 19h26
  3. Problème de compilation en mode console
    Par fredonouille dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/03/2008, 10h10
  4. problème avec setsockopt() mode RAW
    Par poporiding dans le forum Windows
    Réponses: 20
    Dernier message: 25/04/2006, 14h41
  5. problème avec setsockopt() mode RAW
    Par poporiding dans le forum C++
    Réponses: 15
    Dernier message: 24/04/2006, 17h17

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