[debutant] RE: Rép. : Re: [debutant] Librairies dynamiques avec Mandrake

2000-03-03 Par sujet Picard, Cyril

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



[debutant] RE: Rép. : Re: [debutant] Librairies dynamiques avec Mandrake

2000-03-03 Par sujet Jean-Paul Cheppe

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



RE: [debutant] Librairies dynamiques avec Mandrake

2000-03-02 Par sujet Picard, Cyril

En fait tout ceci est pris en charge par le compilo (ou plus exactement par
l'éditeur de liens, ld)
Tu écris ton programme, ensuite tu compiles en spécifiant les libs à
utiliser pour le link : gcc toto.o -lmalib
Des options de gcc permettent de demander une compilation avec édition de
liens statiques ou dynamique, au choix.

Pour plus d'infos : 
mailing list C++ sous linux sur
http://mail.i-docs.org/mailman/listinfo/tuxcpprogramming
je pense mailing list C sous linux sur
http://mail.i-docs.org/mailman/listinfo/tuxcprogramming

 -Message d'origine-
 De:   Aldo Tendron [SMTP:[EMAIL PROTECTED]]
 Date: jeudi 2 mars 2000 08:32
 À:[EMAIL PROTECTED]
 Objet:[debutant] Librairies dynamiques avec Mandrake
 
 Bonjour,
 
 J'aimerais savoir s'il est possible, dans un programme C, de charger
 dynamiquement des librairies. 
 
 Je souhaite charger une dll, puis recuperer l'adresse de la fonction
 qui m'interesse, et executer la fonction. Puis dans le programme, je
 decharge la librairie, et j'en charge une autre, etc... 
 
 Est-ce que les librairies dynamiques permettent ce genre de
 manipulation ? 
 Par analogie, je souhaite transposer ce qui peut se faire avec les DLL
 sous Windows, sachant que le mecanisme de chargement / dechargement de
 DLL n'est , parait-il, pas specifique a Winodws.
 
 Merci
 
 PS : je me rend compte que ma question n'a pas grand chose a voir avec
 Mandrake, si ce n'est que c'est le systeme sur lequel je veux
 developper mon application, avec kdevelop.
 
 Configuration : Mdk 6.1, noyau 2.2.13 (?) PII 400 64Mo glibc 2.1
 
 --
 Aldo Tendron



Re: [debutant] Librairies dynamiques avec Mandrake

2000-03-02 Par sujet Aldo Tendron

 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ép. : Re: [debutant] Librairies dynamiques avec Mandrake

2000-03-02 Par sujet Jean-Paul Cheppe

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



[debutant] Librairies dynamiques avec Mandrake

2000-03-01 Par sujet Aldo Tendron

Bonjour,

J'aimerais savoir s'il est possible, dans un programme C, de charger
dynamiquement des librairies. 

Je souhaite charger une dll, puis recuperer l'adresse de la fonction
qui m'interesse, et executer la fonction. Puis dans le programme, je
decharge la librairie, et j'en charge une autre, etc... 

Est-ce que les librairies dynamiques permettent ce genre de
manipulation ? 
Par analogie, je souhaite transposer ce qui peut se faire avec les DLL
sous Windows, sachant que le mecanisme de chargement / dechargement de
DLL n'est , parait-il, pas specifique a Winodws.

Merci

PS : je me rend compte que ma question n'a pas grand chose a voir avec
Mandrake, si ce n'est que c'est le systeme sur lequel je veux
developper mon application, avec kdevelop.

Configuration : Mdk 6.1, noyau 2.2.13 (?) PII 400 64Mo glibc 2.1

--
Aldo Tendron