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 :

Mots clés __far et __pascal


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Mots clés __far et __pascal
    Bonjour,
    je dois utiliser une vieille librairie développée en C++ et je dois l'intégrer dans un projet sous Visual. je ne dispose que d'un .LIB et d'un .H dans lequel j'ai les mots clés "__far" et "__pascal" devant les prototypes des fonctions:
    ex: void __far __pascal deinitComPort(unsigned short hComDev);

    Quelqu'un saurait me dire à quoi cela sert?

    Lorsque j'essaie de compiler, je rencontre des erreurs de syntaxe, comme si __far et __pascal n'étaient pas reconnus par le compilateur.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    __far est une vieille extension liée aux anciens modèle de mémoire du DOS (pointeurs 16 ou 32 bits suivants les modèles).

    tu peux maintenant virer ces extensions of faire un
    __pascal doit correspondre au mode de gestion des paramètres par les appelant et appelés (qui dépile les paramètres mis sur la pile)

    regarde ici pour plus d'info : calling convention

    je pense que "__pascal" doit correspondre à "fastcall" et que tu peux faire un
    truc comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define __pascal fastcall
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    screetch
    Invité(e)
    Par défaut
    non __pascal et fastcall ne sont pas pareils
    cela correspond en l'occurrence a qui nettoie la pile après l'appel: l'appelant ou l'appelé. Si on se trompe, c'est la mort assurée.
    la plupart des fonctions windows sont __pascal, je crois que c'est définit comme "_stdcall"

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 941
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 941
    Points : 5 652
    Points
    5 652
    Par défaut
    Qia,

    Non, fastcall génère des appels spéciaux : au lieu d'empiler les arguments, on les passe via les registres (généralement jusqu'à 3 arguments, les autres sont alors empilés).
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    screetch
    Invité(e)
    Par défaut
    trouvé quelque part sur la toile:

    Visual C++, 32-bit Edition, supports three calling conventions: C (_cdecl), standard (_stdcall), and fastcall (_fastcall). The compiler does not support the Pascal calling convention (_pascal) provided by Microsoft compilers for MS-DOS and 16-bit Windows.
    http://support.microsoft.com/kb/100832
    il semble que ton code soit passé de date

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par screetch Voir le message
    trouvé quelque part sur la toile:

    http://support.microsoft.com/kb/100832
    il semble que ton code soit passé de date
    Il n'y a donc aucun moyen d'utiliser ou de convertir ma librairie?

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 21h49
  2. mots clés
    Par jive dans le forum ASP
    Réponses: 4
    Dernier message: 02/04/2005, 16h33
  3. Select par mot-clés ou 1er lettre
    Par maadadi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2004, 11h50

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