[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: