Page 1 sur 1
Question de débutant- Fichier .pbi .res .lib et dll [Resolu]
Publié : mer. 25/avr./2007 11:50
par pastor
Bonjour à tous,
Voila encore des questions de débutant

:
1. A quoi servent les fichier .pbi - Comment peut-on les utiliser ?
2. A quoi servent les fichiers .res situés dans \PureBasic\Residents ?
3. Quelle différence entre les fichiers .lib et les dll ?
4. Lorsque l'on a des fonctions réutilisables dans plusieurs progs, et que l'on place ces fonctions dans un fichier externe, que vaut-il mieux : utiliser : des includes, des dll, ou autre chose ?
Voila, vous pouvez sonder mon niveau d'incompréhension et d'ignorance

...
Laurent
Publié : mer. 25/avr./2007 12:19
par tmyke
T'en fait pas, on a tous été des débutants, donc c'est normal.
Les fichiers '.pbi' sont en fait des fichiers PB comme les fichier '.PB'. On leur
donne cette extension souvent pour signifier qu'il s'agit de fichiers particuliers,
Include par exemple, ou l'on y met tout un tas de déclarations par exemple. C'est
une convention tout simplement. C'est fichier pourraient etre renomé '*.pb' cela fonctionnerait
tout aussi bien.
Pour ce qui est des DLL et lib. En fait, ce sont des librairies, de deux types différent.
Les DLL (Dynamic Link Library) représente un ensemble de fonctions, qui sont accéssible
par plusieurs programme en meme temps durant lors execution. Lors du lancement d'une application,
si celle-ci a besoin de fonctions qui se trouve dans une DLL, la DLL est chargé en mémoire, et l'appli
peut alors effectuer les appel au fonctions qui sont contenu dans la DLL. D'autre appli
peuvent elle aussi en meme temps faire des appel de fonction auprès de cette DLL, d'ou
l'avantage. Par exemple, DX9 se présente sous forme de DLLs, et pas mal de programmes
y font appel, souvent de façon simultané...
(a savoir que les DLL sont spécifique a windows)
Les Lib (Librairie) ont elle un status différent. On les appelles plus communément les
librairie statique. Quand tu écris un programme, et que tu as besoins de fonctions externes
a ton programme et qui existe déjà, tu peux demander a ton programme lorsqu'il est
compilé d'integrer ces fonctions existantes au sein de ton pgm. Pas sous forme de code,
mais sous forme de procedure d'appel. Le compilateur va alors chercher les petit bout
de code qui te sont nescessaire dans la librairie que tu lui a désigné et l'ajoute au tien
(dans ce que l'on appelle la phase de linkage).
Voila, c'est court, mais j'espère que je ne t'ai plus embrouillé qu'autre chose...
Publié : mer. 25/avr./2007 13:07
par Progi1984
Les fichiers res sont des fichiers de ressources. Ils peuvent contenir un ensemble de constantes, structures et macros.
Publié : mer. 25/avr./2007 13:16
par minirop
tmyke a écrit :Les Lib (Librairie) ont elle un status différent. On les appelles plus communément les librairie statique.
non, il y a .lib statiques et .lib dynamiques !
les libs statiques sont comme des fichiers sources que tu intègrerais dans ton fichier .exe (fonctions complètes)
les lib dynamiques font le lien entre ton fichier .exe et une DLL (seulement l'entête des fonctions)
.lib est Microsoft only, pour mingw/gcc et linux ce sont des fichiers .a
Publié : mer. 25/avr./2007 13:44
par tmyke
Hmmm, je ne vais pourir ce post avec une querelle de termes.
Mon explication d'ensemble visait juste a dire que grocièrement
il y avait les Librairie Dynamiques (d'ou leur nom DLL) et les
Librairie statiques (.lib)
Maintenant dans la plupart des cas, une fichier .lib accompagne une
DLL afin de pouvoir linker avec cette dernière.
Aucune librairie possédant l'extension .lib n'est dynamique !
(merci Progi, j'avais oublié les res

)
Publié : mer. 25/avr./2007 16:04
par comtois
Progi1984 a écrit :Les fichiers res sont des fichiers de ressources. Ils peuvent contenir un ensemble de constantes, structures et macros.
et tu peux utiliser le visualisateur de structures accessible depuis le menu outils pour voir ces structures et constantes.
Publié : mer. 25/avr./2007 16:18
par minirop
tmyke a écrit :Aucune librairie possédant l'extension .lib n'est dynamique !
en faite le .lib signifiait
library et non le fichier ayant pour extension .lib.
Et les fichiers .res peuvent contenir foule de trucs.
soit pour intégrer des fichiers en tant que ressources, contenir les menus, des chaines de caractères (cf darkbasic),...
Publié : mer. 25/avr./2007 16:33
par tmyke
OK, Alors on c'est compris
