Re: [Mini-help] runtime library
On Mon, Oct 15, 2001 at 01:47:23PM +0200, philippe batailler wrote:
> Martin Quinson <Martin.Quinson@ens-lyon.fr> écrivait :
> «
> « Le terme bibliothèque dynamique regroupent les bibliothèque d'exécution (les
> « trucs comme /usr/lib/libmachin.so.X ayant un soname), les plugins (greffon
> « en francais), modules, etc. Tous sont chargés via dlopen.
>
> Il ne semble pas.
> voici ce que dit l'introduction de Dlopened modules dans la doc de libtool :
>
> It can sometimes be confusing to discuss dynamic linking, because the
> term is used to refer to two different concepts:
> 1. Compiling and linking a program against a shared library, which is
> resolved automatically at run time by the dynamic linker. In this
> process, dynamic linking is transparent to the application.
> 2. The application calling functions such as dlopen,(7) which load
> arbitrary, user-specified modules at runtime. This type of dynamic
> linking is explicitly controlled by the application.
>
> Dans 1, je mettrais les runtime libraries proprement dites,
> et dans le 2, les plugins, modules ou même une runtime library dlopenisée.
> Mais le point 2 ne concerne plus les bibliothèques. On ne peut pas dire
> que c'est l'ensemble « bibliothèque dynamique »
> non ?
Je mettrais tout dans le 2.
Mais la tournure est spéciale, ils parlent de « dynamic linking » et pas de
bibliothèque dynamique, ils font donc référence à des actions plus qu'à des
objets.
1) Action de compiler un programme en utilisant une bibliothèque dynamique.
L'adresse de la fonction à appeler lors de l'exécution est déterminée
pendant la compilation par l'éditeur de liens, et est placée dans
le programme
2) Action d'appeler une fonction d'une bibliothèque dynamique. L'adresse
de la fonction à appeler est déterminée par l'application lorsque la
bibliothèque est chargée.
La distinction entre plug-ins, modules ou bibliothèques d'exécution
n'est pas claire, des modules peuvent être des bibliothèques d'exécution,
mais aussi des wrappers permettant de charger et appeler ces fonctions.
C'est en tout cas ma vision des choses.
Denis
Reply to: