Discussion autour des Libs!

Sujets variés concernant le développement en PureBasic
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

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.
Force et sagesse...
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci TMYKE pour ce résumé 8)

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.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Kwai chang caine a écrit :Merci TMYKE pour ce résumé 8)

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.
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. :roll:

Plus fiables... ça dépend du programmeur de la lib :?
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

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 ?
Dernière modification par Kwai chang caine le mar. 01/janv./2008 20:14, modifié 1 fois.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

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...
Kwai 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 ?
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...
Force et sagesse...
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

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.
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.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

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...
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é :oops:) avec cette procedure, ce sera exactement pareil ??
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

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.
Oui oui, evidement, mon bon CHRIS.
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 :roll:
On ne fait pas d'un ane un cheval de course, mais au mieux un ane de course :D
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Chris a écrit :
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.
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.
On est bien d'accord. L'opti dépend d'abord du programmeur, et que ce soit une lib statique
ou dynamique, à ce niveau cela ne changera rien ;).
Kwai chang caine a écrit :
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...
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é :oops:) avec cette procedure, ce sera exactement pareil ??
globalement oui. Maintenant, dans ta quète d'écriture de librairie, la première question que tu dois
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...
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

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. :roll:
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Effectivement, dans ce cas, te faire une petite lib perso te serait utile, et en plus cela
aurait un coté pedagogique... ;)
Force et sagesse...
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Exactement, tout le monde parle de ce "tailbite", au debut j'osais pas regarder, je croyais que c'etait du X :lol:
Alors KCC y va se lancer dans la lib.
Poussez vous beaucoup de bug en perspective :D

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 :D
Répondre