Discussion autour des Libs!
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Pour résumer:
Lib statique (.lib) -> lib liée à l'exe pendant la compilation, ses fonctions sont donc incluses dans l'exe final.
Lorsque l'edition de lien est faite statiquement, le code des fonctions de la bibliotheque appelees par ton
code est fusionné à ton code objet pour ne former qu'un executable. L'executable est donc plus gros, mais il
est autonome (pas besoin de fournir d'autres fichiers).
Lib dynamique (.dll) -> liée pendant l'éxécution. L'exe appelle ses fonctions pendant son éxécution.
L'avantage est que l'executable est plus petit, que plusieurs applications peuvent appeler la meme
bibliotheque (shared), et qu'une mise a jour de la bibliotheque ne necessite pas la reconstruction de
l'executable. Le defaut est qu'il faut fournir la bibliotheque (DLL) à l'utilisateur afin qu'il puisse faire
tourner l'exe.
Lib statique (.lib) -> lib liée à l'exe pendant la compilation, ses fonctions sont donc incluses dans l'exe final.
Lorsque l'edition de lien est faite statiquement, le code des fonctions de la bibliotheque appelees par ton
code est fusionné à ton code objet pour ne former qu'un executable. L'executable est donc plus gros, mais il
est autonome (pas besoin de fournir d'autres fichiers).
Lib dynamique (.dll) -> liée pendant l'éxécution. L'exe appelle ses fonctions pendant son éxécution.
L'avantage est que l'executable est plus petit, que plusieurs applications peuvent appeler la meme
bibliotheque (shared), et qu'une mise a jour de la bibliotheque ne necessite pas la reconstruction de
l'executable. Le defaut est qu'il faut fournir la bibliotheque (DLL) à l'utilisateur afin qu'il puisse faire
tourner l'exe.
Force et sagesse...
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Si tu lis bien l'explication de tmyke, les libs sont incluses dans le code pendant la compilation. Logiquement, ça doit donc être un peu plus rapide.Kwai chang caine a écrit :Merci TMYKE pour ce résumé![]()
Et niveau des performances ????
Est ce plus rapide ou cela est il plus fiable d'utiliser l'une ou l'autre, ou bien c'est exactement pareil.

Plus fiables... ça dépend du programmeur de la lib

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
D'accord donc en résumé.
Les lib sont inclue dans et donc en principe un peu plus rapide.
Autrement elle sont exactement comme les DLL, hors mis qu'elle sont exterieures au code.
Bon une derniere question, entre une instruction dans une lib et une directement dans le code, il n'y a donc aucune difference ?
Les lib sont inclue dans et donc en principe un peu plus rapide.
Autrement elle sont exactement comme les DLL, hors mis qu'elle sont exterieures au code.
Bon une derniere question, entre une instruction dans une lib et une directement dans le code, il n'y a donc aucune difference ?
Dernière modification par Kwai chang caine le mar. 01/janv./2008 20:14, modifié 1 fois.
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Effectivement, comme le dit si bien Chris, il est de notoriété que les lib statiques
amène à un code plus rapide. Ceci dit, dans la pratique c'est une théorie qui ne se vérifie pas toujours,
et donc la difference (dans un sens ou dans l'autre) est le plus souvent imperceptible.
Ce n'est pas à mon avis de toute façon le critaire qui doit orienter ton choix...
Et bien sûr la fiablilité du code est liée au programmeur, et en rien au type de lib que tu choisira
d'employer...
propres procedures au lieu de faire appel à une lib, la réponse est : ça dépend de pas mal de
choses... et il faut que tu developpes un peu plus ou tu veux aller et ce que tu veux faire...
amène à un code plus rapide. Ceci dit, dans la pratique c'est une théorie qui ne se vérifie pas toujours,
et donc la difference (dans un sens ou dans l'autre) est le plus souvent imperceptible.
Ce n'est pas à mon avis de toute façon le critaire qui doit orienter ton choix...
Et bien sûr la fiablilité du code est liée au programmeur, et en rien au type de lib que tu choisira
d'employer...
Je ne comprends pas trop le fond de ta question. Si ta question est, vaut mieux-t-il coder tesKwai chang caine a écrit :Bon une derniere question, entre une instruction dans une lib et une
directement dans le code, il n'y a donc aucune difference ?
propres procedures au lieu de faire appel à une lib, la réponse est : ça dépend de pas mal de
choses... et il faut que tu developpes un peu plus ou tu veux aller et ce que tu veux faire...
Force et sagesse...
Tout dépend aussi de la façon de coder du programmeur.tmyke a écrit :Effectivement, comme le dit si bien Chris, il est de notoriété que les lib statiques
amène à un code plus rapide. Ceci dit, dans la pratique c'est une théorie qui ne se vérifie pas toujours,
et donc la difference (dans un sens ou dans l'autre) est le plus souvent imperceptible.
Une lib codée par un sagouin sera toujours plus lente qu'une dll programmée proprement.
Enfin... c'est ce qu'il me semble.
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Ce que je veux dire, c'est si je fait une procedure directement dans l'IDE ou bien si je créé une lib avec tailbite (j'ai encore jamais éssayéJe ne comprends pas trop le fond de ta question. Si ta question est, vaut mieux-t-il coder tes
propres procedures au lieu de faire appel à une lib, la réponse est : ça dépend de pas mal de
choses... et il faut que tu developpes un peu plus ou tu veux aller et ce que tu veux faire...

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Oui oui, evidement, mon bon CHRIS.Tout dépend aussi de la façon de coder du programmeur.
Une lib codée par un sagouin sera toujours plus lente qu'une dll programmée proprement.
Enfin... c'est ce qu'il me semble.
Mais moi, je voulais surtout savoir la difference de fiabilité et de rapidité entre les deux méthode avec le meme code.
Pour savoir ce qui est le mieux.
Evidement comme dirait quelqu'un que je ne dénoncerais pas

On ne fait pas d'un ane un cheval de course, mais au mieux un ane de course

-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
On est bien d'accord. L'opti dépend d'abord du programmeur, et que ce soit une lib statiqueChris a écrit :Tout dépend aussi de la façon de coder du programmeur.tmyke a écrit :Effectivement, comme le dit si bien Chris, il est de notoriété que les lib statiques
amène à un code plus rapide. Ceci dit, dans la pratique c'est une théorie qui ne se vérifie pas toujours,
et donc la difference (dans un sens ou dans l'autre) est le plus souvent imperceptible.
Une lib codée par un sagouin sera toujours plus lente qu'une dll programmée proprement.
Enfin... c'est ce qu'il me semble.
ou dynamique, à ce niveau cela ne changera rien

globalement oui. Maintenant, dans ta quète d'écriture de librairie, la première question que tu doisKwai chang caine a écrit :Ce que je veux dire, c'est si je fait une procedure directement dans l'IDE ou bien si je créé une libJe ne comprends pas trop le fond de ta question. Si ta question est,vaut mieux-t-il coder tes
propres procedures au lieu de faire appel à une lib, la réponse est : ça dépend de pas mal de
choses... et il faut que tu developpes un peu plus ou tu veux aller et ce que tu veux faire...
avec tailbite (j'ai encore jamais éssayé) avec cette procedure, ce sera exactement pareil ??
te poser, c'est tout simplement : est-ce utile.
L'écriture d'une lib est motivé d'abord par un besoin de pouvoir utiliser un code que tu va écrire dans un
ensemble large et non conditionnel d'appli.
Sinon, autant ecrire tes routines directement dans ton code en natif...
Force et sagesse...
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Bah disons que j'utilise toujours un certain nombre de procedure et toujours les memes, pour chacune de mes applis.
Comme le nom de la machine, le nom de l'utilisateur, et plein d'autres petites procedures auquelles je fait appel à chaque fois.
Donc je m'etais dit que comme ça ce serait chose faite une fois pour toute.
Comme le nom de la machine, le nom de l'utilisateur, et plein d'autres petites procedures auquelles je fait appel à chaque fois.
Donc je m'etais dit que comme ça ce serait chose faite une fois pour toute.

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Exactement, tout le monde parle de ce "tailbite", au debut j'osais pas regarder, je croyais que c'etait du X
Alors KCC y va se lancer dans la lib.
Poussez vous beaucoup de bug en perspective
Merci beaucoup de ton aide TMYKE
Grace à toi et CHRIS j'y vois un peu plus claire, et ce sera encore plus clair quand j'aurais nettoyé mes lunettes

Alors KCC y va se lancer dans la lib.
Poussez vous beaucoup de bug en perspective

Merci beaucoup de ton aide TMYKE
Grace à toi et CHRIS j'y vois un peu plus claire, et ce sera encore plus clair quand j'aurais nettoyé mes lunettes
