Article View: alt.comp.lang.learn.c-c++
Article #783Re: Pb de Cast
From: Apple
Date: Thu, 23 Dec 1999 00:00
Date: Thu, 23 Dec 1999 00:00
69 lines
2979 bytes
2979 bytes
Merci
--
----------------------------------------------------------------------------
------------------------------
gin@wanadoo.fr
Like Sybase Central LSC http://perso.wanadoo.fr/laserquest/linux
Serge Paccalin <sp@mailclub.nospam.net> a �crit dans le message :
MPG.12ccaf60f0a0dff2989741@news.fnac.net...
> On/le Thu, 23 Dec 1999 21:57:01 +0100,
> Apple <gin@wanadoo.fr> wrote/a �crit...
> > J'utilise gcc 2.95.x et j'ai un probl�me de cast en c++/c
> >
> > j'ai une fonction qui renvoie un void * (fct syst�me) mais c'est en
r�alit�
> > un pointeur sur une fonction:
> > La pr�c�dente version de gcc me mettait un warning sur l'affectation
d'un
> > void * en autre chose
> > mais la nouvelle version fait une erreur !!!
> >
> > voici le bout de code :
> >
> > void mafct()
> > {
> > void *hfile;
> > char *(*name)();
> >
> >
> > hfile=dlopen("lib.so",RTLD_LAZY);
> > if (!hfile)
> > {
> > printf("%s\n",dlerror());
> > return;
> > }
> > name=dlsym(hfile,"PlugInName"); // cette fct renvoie un void *
> > comment
> > le caster en char * (*)
> > // Elle
> > recupere dans une lib une fonction et renvoie un poiteur sur cette fct
!!!
>
--------------------------------------------------------------------------
-
> > -------------------------------
>
> Si tu veux quelque chose de lisible, d�finis un type 'pointeur vers ce
> genre de fonction' et utilise pour d�clarer la variable et 'caster' le
> retour de fonction.
>
> typedef char *(*PROCPTR)();
>
> ...
>
> PROCPTR name;
>
> ...
>
> name = (PROCPTR)dlsym(hfile,"PlugInName"); // renvoit un void *
>
> ...
>
> --
> ___________
> _/ _ \_`_`_`_) Serge PACCALIN
> \ \_L_) sp@mailclub.net
> -'(__) L'hypoth�se la plus �labor�e ne saurait remplacer
> _/___(_) la r�alit� la plus bancale. -- San-Antonio
Technical Details
Message-ID:
<83u3it$td$1@wanadoo.fr>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<83u276$tb$1@wanadoo.fr> <MPG.12ccaf60f0a0dff2989741@news.fnac.net>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: fdcad,902d1c07f4488079 X-Google-Attributes: gidfdcad,public X-Google-Thread: 114592,7f00a62cd7dca919 X-Google-Attributes: gid114592,public X-Google-Thread: 1014db,7f00a62cd7dca919 X-Google-Attributes: gid1014db,public X-Google-Thread: f9822,f22d8660832eaded X-Google-Attributes: gidf9822,public From: "Apple" <gin@wanadoo.fr> Subject: Re: Pb de Cast Date: 1999/12/23 Message-ID: <83u3it$td$1@wanadoo.fr> X-Deja-AN: 564323082 References: <83u276$tb$1@wanadoo.fr> <MPG.12ccaf60f0a0dff2989741@news.fnac.net> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-Complaints-To: abuse@wanadoo.fr X-Trace: wanadoo.fr 945983901 941 193.250.83.79 (23 Dec 1999 21:18:21 GMT) Organization: Wanadoo, l'internet avec France Telecom X-MSMail-Priority: Normal NNTP-Posting-Date: 23 Dec 1999 21:18:21 GMT Newsgroups: alt.comp.lang.learn.c-c++,comp.lang.c,fr.comp.lang.c,fr.comp.lang.c++