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 :

Librairie Dynamique.


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Points : 99
    Points
    99
    Par défaut Librairie Dynamique.
    petite question de débutant :
    Je veux utiliser une librairie dynamique avec une variable globale. La question que je me pose c'est :
    - 'Si j'utilise la lib avec 2 prog en même temps, est-ce qu'il y aura un pseudo lien entre les 2 appli ?'

    par exemple :
    si dans ma lib j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    déclaration de maVariableGlobale;
     
    fonction1 ()
    {
      ... maVariableGlobale = 0;
    }
     
    fonction2 ()
    {
      ...maVariableGlobale++;
    }
     
    fonction3 ()
    {
      ... printf("%d",maVariableGlobale);
    }
    si dans mes applications (qui tourne en même temps) je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Prog1 : 
      fonction1 ()
      fonction2 () 
      fonction2 ()
     
    prog2 :
      fonction1 ()
     
    prog1 :
      fonction3 ()
    que va m'afficher la fonction 3?

    2 ou 0 ?


    voila tout.
    Merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Points : 99
    Points
    99
    Par défaut
    personne ne peut me répondre ou la question est mal formulée?

  3. #3
    Membre habitué
    Avatar de barthelv
    Inscrit en
    Mars 2003
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 267
    Points : 126
    Points
    126
    Par défaut
    Oui ta variable globale sera partagee entre les instances de ta DLL (libriairie).

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Oui ta variable globale sera partagee entre les instances de ta DLL (libriairie).
    En es tu sur ??
    Logiquement, lorsque l'on souhaite partager de l'espace mémoire entre deux processus, on passe par une shm..., que l'on passe par une so ou pas.
    Le comportement est-il différent sous Linux/Unix et Windows ?

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Points : 99
    Points
    99
    Par défaut
    Bon j'ai regarder sur le net si il y avait la réponse mais je n'ais pas trouvé!
    Finalement ce n'était pas une question de débutant .
    Si quelqu'un en sait plus je suis prenneur!

    (La seul chose que j'ai trouvé c'est un lien mort qui disait :
    "Librairie dynamique... ...les variables sont reproduitent à chaque trail..."

    mais comme il n'y a plus de lien je ne peux pas dire si c'est dans la même phrase ou pas ...)

    voily voulou.

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Les variables globales d'une librairie dynamique sont (sous Windows)locales à un processus, et globales entre tous les threads de ce processus.

    J'ose penser que c'est pareil sous unixoïde, mais je n'en suis pas sûr...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    A mon avis, c'est en rapport avec la communication inter processus, il faut fouiller de ce côté.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Les librairies dynamiques ne font pas de communication interprocessus à moins d'êtres concues pour ça: Si tu fais une lib simple, ses vars globales seront locales au processus.

    Si tu cherches à faire une lib avec des variables globales à tout le système, il faut que tu mettes toi-même le code pour ça, à base de mémoires partagées, etc. (de la comm inter-proc, quoi)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 196
    Points : 99
    Points
    99
    Par défaut
    Oki merci pour ces infos ça vas bien me servir.

  10. #10
    Membre expérimenté Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 886
    Points : 1 526
    Points
    1 526
    Par défaut
    Il y a un exemple de mémoire partagée ici

Discussions similaires

  1. Librairie dynamique OCR
    Par spaceclic dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 22/02/2007, 18h30
  2. [Kylix] Librairies dynamiques et Kylix C++
    Par Mitchou dans le forum EDI
    Réponses: 2
    Dernier message: 03/12/2004, 12h46
  3. Compiler et créer une librairie dynamique en C
    Par fidififouille dans le forum Linux
    Réponses: 3
    Dernier message: 30/11/2004, 16h36
  4. création d'une librairie dynamique
    Par bilo2000 dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 26/08/2004, 15h17
  5. Librairies dynamique sous AIX en C++ : MaLib.so
    Par didierM dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 23/10/2003, 18h19

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