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

Bibliothèque standard C Discussion :

« dos.h » et « inportb »


Sujet :

Bibliothèque standard C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Par défaut « dos.h » et « inportb »
    Bonjour a tous,

    J'ai donc le problème suivant : je veux utiliser ma fonction « inportb » qui se trouve dans « dos.h » (d'après ce que j'ai pu lire sur le site) mais quand je compile :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    undefined reference to 'inportb'

    J'utilise Code::Blocks sous windows.
    J'ai également trouvé la fonction sur se site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    unsigned char inportb (unsigned short _port)
    {
        unsigned char rv;
        __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port));
        return rv;
    }
    mais un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int a = inport(0x100);
    printf("%d", a);
    … et j'ai une erreur à l'exécution.

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Pour utiliser la fonction inportb de dos.h, installe MS-DOS, comme le nom du fichier d'en-tête le suggère. Tu n'es pas obligé de formater ta machine pour ça, tu peux tout simplement l'installer dans une machine virtuelle voire intsaller un émulateur DOS à part entière, comme la DosBox.

    Un système moderne tel que Windows ou Linux ne te laissera jamais utiliser l'instruction "IN", utilisée par inportb, dans une application, sauf sur quelques ports bénéficiant d'une exception (notamment les ports COM). Cette instruction ne peut être utilisée sans restriction que par les drivers en mode kernel, qui sont un peu plus difficiles à programmer que les applications.

    Sinon, tu peux également faire appel à une bibliothèque qui fait elle-même appel à des drivers, comme inpout32 et autres.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 15
    Par défaut
    Ok merci,

    pour l'utilisation que je veux en faire je ne peux pas me permettre d'installer un os sur une virtual machine. Je vais devoir trouver autre chose.

    merci bien.

Discussions similaires

  1. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  2. Sac à dos
    Par JeanRaviol dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 21/11/2002, 11h18
  3. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34
  4. Masquer le curseur en mode MS-DOS
    Par Alex120 dans le forum C
    Réponses: 2
    Dernier message: 10/07/2002, 09h30
  5. Format d'un exe pour DOS et pour Windows
    Par Alfhiger dans le forum Assembleur
    Réponses: 4
    Dernier message: 12/06/2002, 11h57

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