qt, -fno-rtti i okolice

Marcin Dalecki dalecki w dacotec.net
Wto, 7 Gru 1999, 13:25:06 CET


Tomasz Kłoczko wrote:
> 
> On Tue, 7 Dec 1999, Marcin Dalecki wrote:
> [..]
> > > Tomku, jeśli będziemy dostarczać qt kompilowane z -fno-rtti to uniemożliwimy
> > > komuś skompilowanie/uruchomienie programu który korzysta z qt i rtti.
> > > Czy uważasz że rtti jest wogóle nie używane i może zostać wyłączone ?
> > > Czy uważasz że rtti jest niepotrzebne i nie będzie w PLD wogóle dostarczane
> > > ?
> >
> > Chaiłbym tylko zwrócić uwagę, że -fno-rtti jest standardową opcją kompilacji
> > tej biblioteki...
> 
> Marcin .. znaczy się sprawdziłem jescze raz i qt 1.4x i 2.0.x niemają
> standardowo dla Linuxa -fno-rtti. Co nie zmiania faktu, że nie am
> rzeczywiście tam ani kawałaka kodu który by potrzebował rtti.
> Konsekwencja tylko używanai przy kompilacji -fno-rtti także i bibliotek z
> tego co widzę będzie także to, że -fno-rtti będzie _musiało_ być używane
> przy kompilacji i programów. Także i binarki kompilowane tak jak to
> dotychczas robionio nie bedą zdaje się działać.
> 
> Nie zmienia to faktu, że najprawdopodobniej całość KDE włącznie z KO da
> sie skompilować z -fno-rtti. Jeżeli byłoby to do wykonania to nie widze
> dlaczego miałoby to nie być wykonane. Powód tego jest taki, mając całe KDE
> konfigurowa z prefixem /usr/X11R6 i tak jesteśmy skazani niejako na
> używanie włąsnych binarek bo wszelkie inne kompilaty beda się instalwoać w
> zupełnie innych lokacjach (od plików danych .. a kończąc na plikach kdelnk
> - mało który spec ze stufami do KDE zawiera pole Pprefix umożliwiając
> robienie relokowalnego pakietu). Skoro decydujemy się na tak odmienny
> sposób konfigurowania całosci (co może do świadomości nie każdego jeszcze
> dotarło) to w zasadzie i używanie -fno-rtti nie powinno już tu dużej
> różnicy robić. Wszystko przy założeniu, że cokolwiek co jest teraz
> dostępne da się skompilować z -fno-rtti (inaczej oznaczać to bedzie
> faktyczne wycowfanie sie z -fno-rtti dla bibliotek) w środowisku także
> kompilowanym z -fno-rtti. Swoja drogą pokazywałoby to, że w g++ dodaje
> kawałek kitu między nogami by def bo i tak na dobrą sprawę _nikt_ z tego
> nie korzysta co byłoby już znaczenie anegdoty :>
> 
> A tak już między Bogiem, a prawdą .. wie ktoś po co wogóle jest to rtti ?
> bo ja mam tylko mętne skojarzenia.

To mechanizm rozpoznawania typów klas podczas *biegu* programu.
Czyli coś zupełnie chorego w języku kompilownym.

--Marcin



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