"optymalizacje" C++

Jakub Bogusz qboosh w prioris.mini.pw.edu.pl
Czw, 10 Maj 2001, 15:35:10 CEST


On Mon, May 07, 2001 at 11:45:35AM +0200, Michal Moskal wrote:
> On Sun, May 06, 2001 at 10:16:05PM +0200, Tomasz Kłoczko wrote:
> > > Jedyne (AFAIK) co może czasem się przydać przy debuggowaniu to rtti
> > > (żeby sprawdzić typ jakiegoś obiektu - tylko nie jestem pewien - czy
> > > można sprawdzić z poziomu debuggera? chyba tak, jest to realizowane
> > > jako dodatkowy atrybut?).
> > 
> > Dlatego użycie powinno wygladać tak mniej wiecej:
> > 
> > CXXFLAGS="%{rpmcflags} %{!?debug:-fno-rtti -fno-exceptions -fno-implicit-templates}"
> 
> IMHO raczej :
> 
> CXXFLAGS="%{rpmcflags} -fno-rtti -fno-exceptions
> -fno-implicit-templates"
> 
> albo jak ewentaulnie qboosh proponuje:
> 
> CXXFLAGS="%{rpmcflags} %{!?debug:-fno-rtti} -fno-exceptions
> -fno-implicit-templates"
> 
> ale, jak dla mnie p typeid(*p) nie dziala w gdb, wiec raczej
> pierwsze wyjescie.

Ano.
Wersja %debug ma być raczej wersją najbardziej zdatną do debuggowania,
a nie możliwie największą i najwolniejszą binarką ;)
Stąd zostawianie wyjątków i implicit-templates tam gdzie nie są
potrzebne nie ma sensu.
Z rtti chyba jest tak samo (spróbowałem - mi też nie udało się tego użyć
z poziomu debuggera; oglądałem kod jaki generuje wywołanie typeid - ręczne
dobranie się do informacji rtti nie wygląda na zbyt łatwe).
Dopóki gdb (albo jakiś inny debugger) nie będzie umiał korzystać z rtti,
to raczej pierwsze rozwiązanie.


-- 
Jakub Bogusz
http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl