[devel] Re: alternatives

Alexey Voinov =?iso-8859-1?q?voins_=CE=C1_voins=2Eprogram=2Eru?=
Вс Мар 30 11:44:31 MSD 2003


Mikhail Zabaluev wrote
> > > Спецификация XML (есть DTD? Schema?) для описания кандидатов
> > > чересчур громоздка. Зачем все эти <group name="candidate"/>
> > > и <option name="link" type="string" value="..."/>, когда достаточно:
> > > <candidate/> и <link file="..."/>
> > Я бы сказал, что над этим ведётся работа. :) Если есть конкретные
> > предложения, думаю никто не будет против, если они буду здесь высказаны.
> Если взять пример, приведённый в README.RUS, и переработать:
> 
> <?xml version="1.0"?>
> <link name="/usr/bin/gcc"
>       target="/usr/bin/colorifer"
>       priority="50">
>   <slave name="/usr/bin/g++" target="/usr/bin/colorifer" />
>   <slave name="/usr/bin/gcj" target="/usr/bin/colorifer" />
> </link>

> > Я правильно понял, что предложение заключается в замене libstdc++ (716578)
> > на glib2 (1207356) и
> Нужно учесть ещё накладные расходы на порождение кода из шаблонов.
> std::map<foo, bar> вряд ли даётся бесплатно.
Всё решается во время компиляции.

Пример простого шаблона:
template <int i>
	struct f { static const int r = i * f<i-1>::r; };

template <>
	struct f<0> { static const int r = 1; };

Так вот, f<5>::r при компиляции заменяется костантой 120, а
f<10>::r --- 3628800. Где накладные расходы от шаблонов?
Я не вижу.


> > переходе на менее удобный (для того, кто это пишет)
> > синтаксис? :)
> Более удобно -- это там, где опасным и неинтуитивным образом
> переопределяются операторы непонятно для чего? ;)
Конкретный пример можно? Оператор [] у std::map переопределён
неинтуитивно?

> > В чём преимущество предложенного?
> В том, что не надо думать, каким компилятором собраны
> библиотека и приложение. У нас сейчас полно головной
> боли из-за gcc 2.96 и gcc 3.2. А если кто-нибудь,
> не дай бог, захочет использовать компилятор Intel?
> Стандартный ABI уже есть, но он молод и недостаточно
> отлажен, не говоря уж о реализациях.
Не надо думать. У нас стандартный компилятор gcc3.2.
Исходники alternatives досупны, так что перекомпилировать можно
без проблем в любой момент.

Я скажу так: я начал делать свой вариант альтернатив на C (и без glib2),
но потом решил, что продуктивнее будет слать патчи к тому, что уже есть.
Постепенно это можно довести до очень неплохого состояния.

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins на voins.program.ru
vns на altlinux.ru

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030330/ebb6c53b/attachment-0001.bin>


Подробная информация о списке рассылки Devel