Lech Wiktor Piotrowski wrote:
> On Thu, 20 May 2004 02:55:42 +0200 (MET DST), Ninik wrote:
>
>
>>Wojciech Gazda <gazda@fema.wywalto-krakow.pl> nakombinował(a) coś takiego:
>>
>>>Pewnie Ci statycznie linkuje całego STL-a z przyległościami :-(
>>>Ale czy da się coś na to poradzić...?
>>
>>Program wygląda tak:
>>
>>#include <iostream>
>>
>
> to,z e w C jest duzo mniejszy, sugeruje, ze dodal STLa, jak powiedzial Wojciech
> Gazda (o to mi chodzilo, tylko nie moglem sobie przypomniec magicznego skrotu STL
> ;). Ale jak tego stla nie linkowac, to juz nie wiem...
>
Podejrzewam, że gcc Innoteka używa STLPort-4.x. STLPort-4.x ma z kolei swoją
własną, jakoby bardziej efektywną implementację <iostream>, a co za tym
idzie musi co nieco dolinkować. Przeraża mnie tylko ILE tego jest.
Jeśli moje podejrzenia są słuszne i rzeczywiście jest to STL Port, to w
plikach konfiguracyjnych można spróbować przełączyć go z jego "własnyego"
<iostream> w tryb wrapperów na <iostream> dostarczany z kompilatorem ->
www.stlport.org
Kolejną sprawą jest konkretyzacja (instantiation) szablonów. Niektóre
kompilatory linkują kod *wszystkich* powtórzeń instancji z każdego
kompilowanego pliku. Wydaje mi się mało prawdopodobne aby linker w GCC był
aż tak beznadziejny, ale np. linker Watcoma ma specjalną wajchę dot.
ignorowania powtarzających się symboli.
PS. Może to być jeszcze debug info z całego stada headerów STL.
-- Wojciech Gazda ********************************************************** * Home page - http://trurl.asua.org.pl * * Asua programmers - http://www.asua.org.pl * ********************************************************** [ To już szósta linia sygnaturki - niezgodna z netykietą ]Received on Sun May 23 17:35:18 2004
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 25 May 2004 - 09:20:28 MET DST