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 :

Exporter des fonctions contenues dans une lib statique dans une dll


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 22
    Points
    22
    Par défaut Exporter des fonctions contenues dans une lib statique dans une dll
    Bonjour,

    Le titre n'est peut-être pas très clair. Je vous explique mon problème:

    J'ai une librairie statique en c (stat.lib), dans laquelle se trouve les fonctions stat1() et stat2().

    J'ai une autre librairie qui elle est dynamique (dyn.dll). Elle exporte les fonctions dyn1() et dyn2(). Jusque là pas de problème. Je voudrais en plus exporter dans cette dll les fonctions stat1() et stat2().

    J'ai bien ajouter dans la lib dynamique des __declspec(dllexport) stat1 () et __declspec(dllexport) stat2(). Je link bien avec stat.lib.

    Lorsque je lance Dependency Walker sur la dll je trouve uniquement dyn1() et dyn2().

    Est ce faisable? Je pense que oui mais comment?

    Merci d'avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    Après une bonne prise de tête, j'ai résolu mon problème.
    Il s'agit en fait d'une optimisation du compilateur. Les fonctions stat1() et stat2() n'étant pas utilisées dans la librairie dynamique (l'objectif étant de simplement les exporter) le compilateur ne les ajoute pas au binaire.
    Pour pouvoir les exporter j'ai simplement appelé la fonction stat1() dans la librairie dynamique. Et là, miracle, je retrouve stat1() et stat2() dans ma dll.

    Un retour d'expérience qui servira peut-être à quelqu'un.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 704
    Points
    2 704
    Par défaut
    Pour info, quel était le paramètre d'optimisation en question ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par oodini Voir le message
    Pour info, quel était le paramètre d'optimisation en question ?
    C'est le fonctionnement par défaut - en release, et peut être en debug -, si je ne m'abuse.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 21
    Points : 22
    Points
    22
    Par défaut
    C'est effectivement le fonctionnement par défaut en release et en debug.

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

Discussions similaires

  1. Inclure une lib statique dans une autre ?
    Par débutant6792 dans le forum Visual C++
    Réponses: 4
    Dernier message: 04/08/2014, 17h19
  2. Réponses: 3
    Dernier message: 06/12/2010, 15h59
  3. Réponses: 4
    Dernier message: 30/11/2009, 09h34
  4. Rewrite d'une url statique vers une url statique ?
    Par fatdarron dans le forum Apache
    Réponses: 1
    Dernier message: 15/08/2009, 11h35
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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