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 :

Extern : notion de complémentarité


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut Extern : notion de complémentarité
    Bonjour,
    je suis en train de lire le source de ImageMagick et je suis tombé sur ce genre de déclarations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    extern MagickExport MagickBooleanType
      ThrowException(ExceptionInfo *,const ExceptionType,const char *, const char *),
      ThrowMagickException(ExceptionInfo *,const char *,const char *, const unsigned long,const ExceptionType,const char *,const char *,...)
        magick_attribute((format (printf,7,8))),
      ThrowMagickExceptionList(ExceptionInfo *,const char *,const char *, const unsigned long,const ExceptionType,const char *,const char *,va_list)
        magick_attribute((format (printf,7,0)));
    Alors de ce que je comprend toutes les fonctions ci-desus sont extern et renvoient toutes le type "MagickBooleanType".
    Mais ce que je ne comprend pas c'est à quoi sert le "MagickExport"? A noter qu'il y a plusieurs déclarations semblable.
    N'ayant trouvé que peut d'explications sur extern je me tourne vers vous

    Merci de m'avoir lu!

  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 : 62
    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
    Par défaut
    Ce MagicExport est un define qui permet de définir le mode d'exportation de la fonction.

    Si on prend un exemple de code que j'ai écrit, cela donne quelque chose comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #ifdef WINLOG_EXPORTS
    #define EXPORT __declspec(dllexport)
    #else
    #define EXPORT __declspec(dllimport)
    #endif /* #ifdef WINLOG_EXPORTS */
     
    /* convention d'appel des fonctions */
    #define CALL_CONVENTION __cdecl
     
    EXPORT WinLogRet_t CALL_CONVENTION WinLogRegisterA(PARAM_IN const char * ProcessName);
    Dans cet exemple, MagicExport est équivalent à EXPORT chez moi
    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
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Par défaut
    Super! Merci pour la réponse!

Discussions similaires

  1. Dialogue DLL externe
    Par rgarnier dans le forum XMLRAD
    Réponses: 8
    Dernier message: 07/05/2003, 14h28
  2. Base de données externe
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 14h09
  3. problème variable extern
    Par HeKaz dans le forum C
    Réponses: 14
    Dernier message: 08/01/2003, 01h44
  4. Notion d'algorithme
    Par gtr dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 10/12/2002, 11h46

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