[Kos-dev] Galere

kos-dev@enix.org kos-dev@enix.org
Fri, 17 Jan 2003 14:24:01 CET


Salut,

----Message d'origine----
>A: kos-dev=40enix.org
>Sujet: Re: =5BKos-dev=5D Galere
>De: Thomas Petazzoni <thomas.petazzoni=40enix.org>
>Date: Fri, 17 Jan 2003 13:51:47 +0100
>
>d2 <David.Decotigny=40irisa.fr> writes:
>
>Salut,
>
>> J'ai du louper un episode, mais ca fait le 2eme message que je vois
>> parler de pbs avec le loader... et j'ai pas recu de message les
>> detaillant depuis mes modifs d'il y'a 1 mois. Donc, si pb il y a, quel
>> est il ?
>
>Le probleme est pas avec le loader ...
>
>> Pour ce qui concerne new/delete, j'ai vu que Julien a ajoute des
>> choses, donc quels sont les problemes qui restent ? Si c'est les
>> versions gcc 3.x qui vous embetent, new=5Fop.cc et cie sont pas bien
>> pour vous en inspirer ? Bref, je ne vois pas trop ce qui pose probleme
>> la-dedans, merci d'etre plus precis.
>
>En fait, j'ai regarde le code de libsupc++, et ca ressemble pas du
>tout a ce qu'on a fait jusqu'a maintenant au niveau de libcxxrt, donc
>je me posais des questions. Quelle est la difference entre les
>operator new (de libsupc++) et les =5F=5Fbuiltin=5Fnew que nous on defini=
t ?
>
>A quoi sert libsupc++ exactement ? Il me semblait que ca jouait le
>meme role que libcxxrt, mais pour Linux (et au niveau utilisateur, pas
>au niveau noyau), et pourtant ca a pas du tout la meme tronche.
>
>Bref, kezako. Je dis pas qu'il y a un probleme. Je me pose des
>questions, voila tout.
>
>Enfin si d'apres toi, les =5F=5Fbuiltin=5Fnew, =5F=5Fbuiltin=5Fdelete & c=
o ca
>suffit, bin allons y ;-)

mais ce n'est pas une specificite specifique a g++ les =5F=5Fbuiltin=5F* ?

>Julien, j'ai compris a quoi servait le parametre padding, suffit
>d'aller voir le code de libsupc++ dans vec.cc, tu comprends tres bien
>a quoi ca sert :
>
>(extrait de =5F=5Fcxa=5Fvec=5Fnew2)
>
>    std::size=5Ft size =3D element=5Fcount * element=5Fsize + padding=5Fs=
ize;
>    char *base =3D static=5Fcast <char *> (alloc (size));
>
>    if (padding=5Fsize)
>      =7B
>        base +=3D padding=5Fsize;
>        reinterpret=5Fcast <std::size=5Ft *> (base)=5B-1=5D =3D element=5F=
count;
>      =7D
>    try
>      =7B
>        =5F=5Fcxa=5Fvec=5Fctor(base, element=5Fcount, element=5Fsize,
>                       constructor, destructor);
>      =7D
>
>Bref, padding c'est juste un espace ajoute avant le tableau
>d'objets. Bon par contre le reinterpret=5Fcast, j'avoue que j'ai un peu
>du mal ... Mais enfin bon.

arf,
c l'equivalent du cast C, tu cast sans te poser de question sur les types =
(a l'inverse de static=5Fcast qui peut renvoyer 0 dans certains cas). du p=
ropre quoi :)

>Thomas
>-- =

>PETAZZONI Thomas - thomas.petazzoni=40enix.org - UIN : 34937744
>(Perso)      http://www.enix.org/=7Ethomas/
>(KOS)        http://kos.enix.org/ =

>(Club LinUT) http://club-linut.enix.org
>=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=
=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F
>Kos-dev mailing list
>Kos-dev=40doors.enix.org
>http://the-doors.enix.org/cgi-bin/mailman/listinfo/kos-dev

Raphael qui se detruit le cervo devant de la meca :(