🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.comp.lang.learn.c-c++
Article #782

Re: Pb de Cast

#782
From: Serge Paccalin
Date: Thu, 23 Dec 1999 00:00
54 lines
2439 bytes
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: <MPG.12ccaf60f0a0dff2989741@news.fnac.net>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <83u276$tb$1@wanadoo.fr>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 1014db,7f00a62cd7dca919
X-Google-Attributes: gid1014db,public
X-Google-Thread: fdcad,902d1c07f4488079
X-Google-Attributes: gidfdcad,public
X-Google-Thread: 114592,7f00a62cd7dca919
X-Google-Attributes: gid114592,public
X-Google-Thread: f9822,f22d8660832eaded
X-Google-Attributes: gidf9822,public
From: sp@mailclub.nospam.net (Serge Paccalin)
Subject: Re: Pb de Cast
Date: 1999/12/23
Message-ID: <MPG.12ccaf60f0a0dff2989741@news.fnac.net>
X-Deja-AN: 564319924
References: <83u276$tb$1@wanadoo.fr>
X-Complaints-To: abuse@isdnet.net
X-Trace: news5.isdnet.net 945983732 25426 195.154.3.135 (23 Dec 1999 21:15:32 GMT)
Reply-To: sp@mailclub.no.spam.net
NNTP-Posting-Date: 23 Dec 1999 21:15:32 GMT
Newsgroups: alt.comp.lang.learn.c-c++,comp.lang.c,fr.comp.lang.c,fr.comp.lang.c++