Re: Linux a výjimky c C++

Ing. Miloslav Ponkrác ponkrac na peregrius.cz
Sobota Březen 4 11:12:25 CET 2000


Stanislav Meduna wrote:

>Robime vo firme projekt, ktory bezi pod M$ (Visual Studio 6)
>aj Linuxom (egcs tusim 1.1.2) a moje skusenosti su nasledovne:
>
>So STL som mal v Linuxe menej problemov ako na M$
>(ti maju akusi zastaralu verziu a nova bude az s dalsim
>Visual Studiom, cize tak o rok). Trochu som narazil
>pri definicii alokatorov, ale dalo sa to rozchodit
>(standard-nestandard, bez ifdefov to proste nejde).

Zvykl jsem si, ze MS implementuji neco az jako posledni. Dostal se mi kdysi
vzorek casti STL knihovny z Linuxu, tusim, ze to byl hlavickovy soubor list.
Zjistil jsem, ze STL pro Linux je napsana uplne jinak, nez pro Windows. I
kdyz zakladni standard byl stejny. Otazkou je, jak je to v Linuxu s
kompatibilitou STL se standardem celkove. Jinak, nejlepe je vzit STL z C++
Builderu, kde je to snad slusne propracovano, a myslim, ze je tam dokonce i
podpora MS prekladacu. Koneckoncu, to nepsal ani Borland, ani MS. Delalo to
na me velice dobry dojem. Je to tak zpracovano, ze bych se nebal tuto verzi
STL vzit prakticky pod libovolny kompilator. Takze klidne i pod Linux.
(Zkratka jsou tam ifdefy velice dobre propracovany.)

Ale pouzivam dodnes MS Visual C/C++ verze 4, a uz tam je podpora sablon,
vyjimek i namespace, tedy vse, co je potreba. Prave by me zajimalo, jak je
na tom Linux s podporou techto veci.

>Co ale na Linuxe problem je, je standardna C++ kniznica.
>Co je dodavane s kompilatorom _nie_je_ podla aktualneho
>standardu a strstream vs. stringstream vedia pripravit
>par zabavnych chvil :-( Standardna kniznica sa vyvija,
>ale obavam sa, ze pre production-use este nie je.


On je take problem s tim, ze knihovnu streamu ANSI komise nekolikrat
prekopala. Ja osobne ji radeji nepouzivam vubec, protoze jsem zjistil, ze
produktivnejsi je napsat si svou vlastni verzi, a nebo pouzivat soubory
podle <stdio.h>, tedy fopen, a spol. To je jenom muj nazor. Povazuji
knihovnu streamu za nejmene povedenou cast celeho standardu C++.

Nekdy mi take pripada, ze pokud se honem uz nejak neustali standard C++, ze
to bude hodne zle. Myslim si, ze by se uz zmeny jazyka mely zmrazit. Zkuste
porovnat prvni verze jazyka C++ a soucasne verze jazyka C++. Zjistite, ze
nektere veci byly dost prekopany a existuje dost starych zdrojaku, ktere
budou v dnesnich verzich C++ delat problemy. Takze kdyby se vyvijely jenom
knihovny, bylo by to dobre! Mam pocit, ze by ANSI komisi uz mel nekdo
klepnout pres prsty, a dat jim do ruky jinou hracku, nez C++.

>Pokial ide o namespace, pouzivame "nove" includy bez .h
>(t.j. <iostream> a.p.), ale nic viac. Na namespace sa obcas
>polozi aj M$, takze svoje nevymyslame a std:: piseme
>pekne explicitne.


Takze v Linuxu namespace pracuje?

Miloslav Ponkrác




Další informace o konferenci Linux