begin process at 2012 05 29 16:23:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Pourquoi linker les librairies


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pourquoi linker les librairies

samedi 8 septembre 2007 à 20:38:22 | Pourquoi linker les librairies

Ziman

Bonjour,

cela fait quelques temps que je programme en C et je me pose une question depuis le début et je n'ai pas encore trouvé ma réponse... Je comprend l'interet des #include mais je ne comprend pas pourquoi parfois il faut lier les librairies avec #pragma comment(...), en fait j'aimerai savoir précisément ce qui se passe quand on link une librairie et pourquoi il faut le faire.

Merci pour vos réponses

Apprendre le VB6
samedi 8 septembre 2007 à 20:46:09 | Re : Pourquoi linker les librairies

luhtor

Des includes, ca contient rien juste quelques définitions de fonction. Le code associé a ton include est dans la librairie.
samedi 8 septembre 2007 à 20:49:45 | Re : Pourquoi linker les librairies

Ziman

Ah d'accord, merci bien pour ton aide :p

Apprendre le VB6
dimanche 9 septembre 2007 à 12:14:21 | Re : Pourquoi linker les librairies

racpp

Administrateur CodeS-SourceS
Salut,
Le fichier LIB contient une référence des fonctions d'une DLL. Elle contient les noms des fonctions exportées avec leurs points d'entrée, le nombre et types de paramètres à passer etc. Cette référence sera injectée, par l'éditeur de liens, comme table d'import dans l'exécutable à générer. L'implémentation du code se trouve elle dans la DLL associée. Par défaut sous Windows, les compilateurs ajoutent aux projets kernel32.lib, user32.lib, gdi32.lib ect. Ces dernières sont respectivements associées à kernel32.dll, user32.dll et gdi32.dll. Pour utiliser une DLL non reconnue par défaut, on doit ajouter sa LIB  au projet. Sinon, on devra charger la DLL avec LoadLibrary() et récupérer les adresses des fonctions avec GetProcAddress() après avoir défini au préalable un type de pointeur pour chaque fonction à utiliser. Le type de pointeur définit la convention d'appel de la fonction, le paramètre de sortie et les paramètres d'entrée.

dimanche 9 septembre 2007 à 14:08:05 | Re : Pourquoi linker les librairies

luhtor

Ca c'est pour une lib associée à une dll, pour un lib statique, c'est différent.
dimanche 9 septembre 2007 à 14:36:06 | Re : Pourquoi linker les librairies

racpp

Administrateur CodeS-SourceS
luhtor >> Oui. L'auteur de la question n'a pas parlé de lib statique. Sa question se rapporte plutôt à la lib associée à une dll.

dimanche 9 septembre 2007 à 16:13:59 | Re : Pourquoi linker les librairies

luhtor

C'est pas précisé.
lundi 10 septembre 2007 à 01:56:06 | Re : Pourquoi linker les librairies

Ziman

Bonjour et merci pour vos réponses.

Je suis venu poser cette question en voyant :

#pragma comment(lib, "ws2_32.lib")

quand j'ai voulu utiliser les sockets. J'ai essayé sans cette ligne, ça ne fonctionnait pas, et comme c'est pas la première fois que j'entend parler du fait de lier les librairies j'avais envie de comprendre, maintenant quelle est la différence entre une librairie statique et un librairie lié à une DLL ?

Apprendre le VB6
lundi 10 septembre 2007 à 02:10:17 | Re : Pourquoi linker les librairies

racpp

Administrateur CodeS-SourceS
ws2_32.lib est associée à ws2_32.dll. Une lib statique contient l'implémentation de fonctions. Ces fonctions seront  injectées, par l'éditeur de liens,  dans le code de l'exécutable au lieu d'être appelées dans une dll externe.


Cette discussion est classée dans : librairies, comprend, linker


Répondre à ce message

Sujets en rapport avec ce message

probleme linker lapack++ [ par renlel ] Bonjour, J´utilise DEV-C++ sous windows et je cherche à utiliser la librairie lapack++. J´ai installer une version qui comprends libblas32 et libpack Linker error [ par hadhber ] lorsque j'utilise graphics.h la compilation ne détecte aucune erreur par contre à l'execution j'ai des erreurs comme Linker error: Undefined symbol _s LINKAGE pour prog de screenshot [ par ssmint ] Bonjour à tous,question sans doute évidente mais je n'ai pas trouvé la réponse sur le forum. J'essaie de compiler un prog permettant de faire un scree Recherche librairies [ par diamond_dog ] Bonjour, je recherche les librairies suivantes, merci d'avance: #include #include #include #include #include &lt Problème mySQL Lib [ par Mini92 ] Salut, je cherche à me connecter sur un serveur mySQL (sur free) mais j'obtiens plusieurs messages d'erreurs en rapport avec la librairie libmySQL.Voi automake m4 [ par dacor ] bonjour,saviez vous ou je pourrai trouver les fichiers m4 des librairies ( particulièrement les librairies geos et gdal) que j'utilise dans mon appli CCPwebBrowser + BorlandC++ + probleme de linkage [ par FloFlo91 ] BonjourJe travaille actuellement sur Borland C++ Builder 6.j'ai mis le composant ActiveX CPPwebBrowser.Mais quand je compile j'ai un probleme de linka SDL [Linker error] undefined reference to `WinMain@16' [ par cedriclomb ] Bonjour,Je déute depuis ce matin et je suis déja dans la mouize ca commence bien !!J'ai un petit problème pour installer la SDL (je suis sous dev-cpp) [Linker Fatal Error ] Fatal: Unable to open file 'OXMLDOM.OBJ' [ par momo2007ma ] Bonjours,J'ai un probleme avec l'utilsation de TXMLDocument, ca compile mais lors d'édition de lien, il m'affiche l'erreur suivante:[Linker Fatal Erro comment ajouter de nouvelles "librairies" (.lib) dans le compilateur Vc++ ? [ par pistol350 ] Je ne sais pas comment m'y prendre pour ajouter des librairies,que ce soit a partir d'une DLL ou bien directement a partir de (devpacks), si c'est com


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,352 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales