L'utilisation des Overlay est en fait très simple.
Le programeur n'a que quelques clauses de compilation à ajouter à ses sources, 
déclarer dans le programme principal que certains modules doivent être traités comme 
overlay et charger un gestionnaire d'overlay qui se présente le plus souvent comme un 
module. On compile, on link-edit et c'est tout.
Il n'est même pas nécessaire de faire des tests comme tu le fais pour charger  l'un ou 
l'autre module. Il te suffit d'appeler une procédure ou fonction d'un de tes modules 
overlayés pour que celui-ci soit chargé par le gestionnaire d'overlay. Lorsque tu 
quittes le modules, le gestionnaire d'overlay l'efface. Au démarrage du programme, le 
gestionnaire détermine la taille du plus grand module et se charge d'allouer une zone 
mémoire suffisante.

J'aimerais bien t'aider.

Malheureusement, je ne fais plus de programmation depuis au moins 15 ans. et à 47 ans 
je ne connais même pas C ou C++ (et encore moins Java). J'ai donc perdu le fil. 
Lorsque je travaillais en FORTRAN IV et 77 et en Pascal (Borland) ainsi qu'avec le 
système UCSD sur Apple II (c'est dire si cela date), je me souviens avoir très souvent 
utilisé cette possibilité. En fait pour référence, tous les gros logiciels sous DOS 
(LOTUS-123, SuperCalc, ...) travaillaient comme cela pour s'affranchir 
artificiellement de la barrière des 640K.

Je pense qu'il doit y avoir des infos plus développées sur le WWW. Recherche un peu 
sur les sites qui s'intéressent à la programmation et en particulier celui de GNU.

Désolé de ne pas pouvoir t'aider plus.

Amitiés                          Jean-Paul

>>> "Picard, Cyril" <[EMAIL PROTECTED]> 03/03/00 09h30 >>>
Ah et bien je ne connaissais pas du tout cette possibilité... je veux bien
avoir des infos lorsque tu en auras :o) (peut-etre en privé, car tout ceci
mes semble OffTopic)

> -----Message d'origine-----
> De:   Jean-Paul Cheppe [SMTP:[EMAIL PROTECTED]] 
> Date: jeudi 2 mars 2000 17:27
> À:    [EMAIL PROTECTED]; [EMAIL PROTECTED] 
> Objet:        Rép. : Re: [debutant] Librairies dynamiques avec Mandrake
> 
> En fait ton exemple est incomplet, car dans ton premier mail tu voulais
> aussi les décharger après exécution des fonctions utiles.
> En fait, si j'ai bien compris c'est de l'overlay que tu veux faire. Dans
> le temps, quand la mémoire était limitée et très très chère c'est ce qu'on
> faisait.
> Actuellement, je ne sais si cela existe encore, mais à mon avis oui.
> Cherche dans un bon bouquin de programmation concernant C++.
> 
> Jean-Paul Cheppe 
> 
> >>> "Aldo Tendron" <[EMAIL PROTECTED]> 02/03/00 14h51 >>>
> > En fait tout ceci est pris en charge par le compilo (ou plus
> exactement par
> > l'éditeur de liens, ld)
> 
> Je me suis mal exprime, ou alors je n'ai pas bien compris : je souhaite
> controler le chargement avec le programme, c'est a dire que je veux
> faire un programme qui charge et decharge a la demande la librairie, et
> non pas un chargement pour toute l'execution du programme, ce qui doit
> se passer avec une methode "classique" d'edition de liens ? Ce que je
> veux faire exclut d'emblee les librairies statiques, mais je ne sais
> pas s'il existe une solution avec les librairies dynamiques.
> 
> Par exemple, je voudrais pouvoir executer l'algo suivant :
> 
> si (jour pair)
>  charger librairie_pair
> sinon 
>  charger librairie_impaire
> 
> Utiliser_les fonctions_de_la_librairie_chargee
> 
> 
> 
> Merci pour les listes

Répondre à