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 :

comment utiliser un fichier .LIB


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 6
    Par défaut comment utiliser un fichier .LIB
    comment utiliser un fichier .LIB?

    Merci

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    un .LIB correspond à une librairie statique.

    mais tu es sous quel ide ?

  3. #3
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    C'est un truc à la windows ça..
    Euh, je crois que c'est pas forcement une librairie statique, ça peut servir d'interface pour une dll

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je précise ce que dit Gruik :

    Un fichier .lib est toujours une bibliothèque statique, mais ça peut être:
    • Une vraie bibliothèque statique de fonctiosn
    • Ou une bibliothèque statique d'importation de DLL
    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.

  5. #5
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Citation Envoyé par Médinoc
    • Ou une bibliothèque statique d'importation de DLL
    Ah okay!
    Donc on peut utiliser une dll directement?

    Les .lib de windows permettent en fait de charger la dll correspondante uniquement qd on appelle une des fonctions pour la premiere fois c'est ça?

    Mercix

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Les .lib permettent d'accéder aux fonctions de la DLL sans passer par LoadLibrary()/GetProcAddress().
    C'est aussi, je pense, l'unique moyen d'utiliser directement une classe C++ exportée par une DLL (et la DLL doit être compilée par le même compilateur, car le nom C++ d'une fonction dépend du compilo : Seule l'interface C est universelle sous Windows) (exemple: Les DLL d'extension MFC).

    La DLL peut être chargée dès le lancement du programme, ou juste avant l'appel de la fonction, selon que ce soit une delay-loaded DLL ou non.
    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
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par débutant_en_C
    comment utiliser un fichier .LIB?
    Quelle est ta vraie question ?

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par Médinoc
    [...] (et la DLL doit être compilée par le même compilateur, car le nom C++ d'une fonction dépend du compilo [...]
    Bonsoir,

    Une idée qui me traverse l'esprit : n'y aurait-il pas moyen de jouer avec les alias ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Quelle est ta vraie question ?
    on peut utiliser un makefile, dans lequel on spécifié le chemain de notre .LIB, pour pouvoir utiliser ses fonction????
    et si le link ne trouve pas une fonction, il va cherché dans les headre et apres dans le .LIB?
    je dis une bétise peut etre

  10. #10
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par moon93
    on peut utiliser un makefile, dans lequel on spécifié le chemain de notre .LIB, pour pouvoir utiliser ses fonction????
    et si le link ne trouve pas une fonction, il va cherché dans les headre et apres dans le .LIB?
    je dis une bétise peut etre
    C'est quoi, une nouvelle question ? Un essais de divination des pensées du PO ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut
    Citation Envoyé par gege2061
    C'est quoi, une nouvelle question ? Un essais de divination des pensées du PO ?
    ben c'est la question , non?
    "comment utiliser un fichier .LIB "

  12. #12
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    tu incluse le fichier d'entête (avec la directive #include)
    puis si tu es sous visual tu lies la librairie comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment(lib,"talib.lib")

  13. #13
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par hiko-seijuro
    tu incluse le fichier d'entête (avec la directive #include)
    puis si tu es sous visual tu lies la librairie comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment(lib,"talib.lib")
    Pas portable.

  14. #14
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par débutant_en_C
    comment utiliser un fichier .LIB?

    Merci

    Bon je vais répondre à la question vu qu'apparemment personne n'a réllement était capable
    Le fichier .lib doit être placé dans le répertoire /lib du compilateur.
    Sous Unix je ne sais pas trop il faut indiquer au makefile de lier la bibliothéque lors de l'édition des liens alors qu'avec des environnements tout intégrés il suffit d'ajouter au projet.
    Il est impératif d'ajouter un fichier .h d'inclusion ( avec #include ) comportant les déclarations de fonctions.
    Effectivement pragma lib n'est pas standard il me semble; c'est une directive VC++

Discussions similaires

  1. comment utiliser un fichier .LIB
    Par débutant_en_C dans le forum Windows
    Réponses: 2
    Dernier message: 09/08/2006, 10h34
  2. Réponses: 11
    Dernier message: 13/03/2006, 17h51
  3. Réponses: 7
    Dernier message: 03/11/2005, 18h52
  4. Comment utiliser les fichiers *.PNG avec Delphi ?
    Par HopeLeaves dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/09/2005, 20h59
  5. Réponses: 4
    Dernier message: 13/12/2004, 20h37

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