[01:22:15] <vgodunko> http://www.avito.ru/items/volgograd_avtomobili_citroen_grand_c4_picasso_2007_28590562
[01:22:22] <vgodunko> чуть дороже, но намного приятнее ;-)
[10:03:01] <coopht> нее
[10:03:08] <coopht> только не ситроен
[10:05:01] <genieprox> стехи
[10:05:14] <genieprox> о_О бота-то нету )))
[10:05:22] <genieprox> test
[10:05:23] <Жаба> genieprox, passed
[10:59:12] <landgraf> есть абстрактный тип Message и тип Massage_XML is new Messga with... как мне правильно сделать Ada.Unchecked_Deallocation для них?
[11:00:01] <subj_rs> зачем для абстрактного? его все равно объявить нельзя
[11:04:26] <landgraf> оно же будет наследоваться
[11:04:28] <landgraf> или нет?
[11:05:04] <subj_rs> от него наследоваться
[12:51:02] <vgodunko> procedure Free is new Ada.Unchecked_Deallocation (Message'Class, Message_Access);
[12:51:17] <vgodunko> где type Message_Access is access all Message'Class;
[12:54:06] <landgraf> во
[12:54:15] <landgraf> type Message_Access is access all Message'Class - вот до этого я не додумался :(
[15:13:26] <StarGate> [notice] bridge "#ada@irc.tpu.ru <-> ada-ru@conference.jabber.ru" is running in limited mode
[15:49:58] <landgraf> vgodunko, avirtda_dd_messages.ads:37:107: tagged type required, found type "Avirtda_DD_Message_Access" defined at line 21
[15:50:17] <landgraf> procedure Free_Message is new Ada.Unchecked_Deallocation (Object => Avirtda_DD_Message'Class, Name => Avirtda_DD_Message_Access'Class);
[15:50:30] <landgraf> аа
[15:50:33] <landgraf> тупица я
[15:52:37] <vgodunko> 'Class для ссылочного типа есть новое слово гонки языковых конструкций
[15:53:12] <landgraf> )
[16:00:22] <landgraf> если я не вызываю new при создании объекта тегового типа - значит освобождать с Unchecked_Deallocation не надо?
[16:00:36] <landgraf> (/me запутался)
[16:00:47] <landgraf> и кажется написал быдлокод
[16:01:20] <subj_rs> new для ссылочных типов ж
[16:01:46] <subj_rs> если не вызываешь new - значит не ссылочный тип, значит и освобождать ничего не надо
[16:03:15] <landgraf> это очень плохо? или лучше юзать ссылочный тип?
[16:03:29] <landgraf> чем чревато юзать не ссылочные типы? память кончится?
[16:03:47] <subj_rs> ничем, даже быстрее будет работать
[16:03:54] <subj_rs> ибо в стеке лежать будет
[16:05:01] <subj_rs> наверное )
[16:07:27] <landgraf> )))
[16:36:59] <vgodunko> Где-то так
[16:38:29] <skylark> да скорость-то будет, наверняка, одинаковая, а вот хлопот от автоматического освобождения на стеке - меньше.
[16:50:51] <landgraf> почему тггда все на стеке не делать? ))
[16:50:59] <landgraf> ну кроме того, что снаружи приходит
[16:51:27] <subj_rs> размер ограничен
[16:52:00] <subj_rs> да и передавать ссылки быстрее нежели сам объект )
[16:52:32] <landgraf> subj_rs, процедуры же ссылки передают, не?
[16:52:35] <landgraf> %)
[16:57:43] <subj_rs> стандартом не определенно вроде
[16:58:57] <subj_rs> landgraf: в динамической памяти надо динамические объекты размещать )
[17:04:17] <landgraf> subj_rs, кто есть динамические объекты?
[17:04:24] <landgraf> у которых размер меняется?
[17:04:47] <subj_rs> динамические строки например
[17:05:03] <landgraf> кстати, а контейнеры надо освобождать? или они сами удаляются?
[17:37:14] <yeo> контейнеры - сами
[17:37:57] <landgraf> отлично
[17:38:10] <landgraf> других динамических объектов у меня нет, пока
[18:31:55] <geniepro> а насколько сложно в проекте на Аде использовать куски, написанные на сях? имею в виду -- так, что бы один екзешник получить, а не кучу dll + exe...
[18:32:51] <geniepro> маршаллинг данных между адой и сями громоздкий?
[18:32:52] <subj_rs> какие именно куски?
[18:33:09] <geniepro> ну часть программы написана на аде, часть на си, например...
[18:33:24] <subj_rs> да запросто
[18:34:02] <geniepro> или если маршаллинг простой, и доступ к dll тоже нетрудный? тогда бы предыдущий вопрос отпал бы. наверное...
[18:34:38] <geniepro> де-нить про FFI для Ады можно почитать?
[18:35:31] <subj_rs> к dll доступ также осуществляется практически
[18:35:56] <subj_rs> вот создавать адские dll - тут уже посложнее )
[18:36:43] <StarGate> [warning] The nickname "cthulchu24335" is used on both sides of the bridge
[19:36:28] <белый шум> > адские dll
звучит
[20:01:23] <vgodunko> DLL через COM?
[20:02:03] <vgodunko> geniepro: или извраты не нужны и просто требуется затянуть структуры данных C в Ada программу?
[20:03:45] <geniepro> просто сделать как-то, что бы адская прога могла использовать исходники на сях. что бы было максимально просто и без лишних сущностей
[20:08:28] <vgodunko> Тогда см. Annex B Interface to Other Languages
[20:17:05] <vgodunko> Ничего сложного в принципе нет, многое отображается один в один
[20:17:41] <geniepro> это конечно преимущество...
[20:21:09] <geniepro> "Ada arrays map directly to C arrays." -- но ведь в сишных массивах нет информации о длине, а в адских вроде есть? как тыт быть?
[20:21:46] <vgodunko> Только в одну сторону.
[20:22:06] <vgodunko> И, строго говоря, даже это отображение решили признать нерекомендуемым.
[20:22:14] <geniepro> то есть если я в сишную процедуру скину массив, надо будет отдельно размер его указать?
[20:22:19] <StarGate> [warning] The nickname "Cthulchu" is used on both sides of the bridge
[20:22:23] <StarGate> [warning] The nickname "cthulchu" is used on both sides of the bridge
[20:22:40] <cthulchu> странно... почему это я на обеих сторонах...
[20:22:53] <cthulchu> а можно координаты жаббер-конфы узнать?
[20:23:04] <geniepro> а как зачитать из сишной процедуры массив?
[20:23:24] <subjrs> cthulchu: ada-ru@conference.jabber.ru
[20:24:01] <subjrs> geniepro: в си ж нет процедур )
[20:24:07] <vgodunko> cthulchu: мост умеет отображать IRC пользователей как Jabber пользователей. Обратно тоже умеет, но IRC сервер не позволяет
[20:24:25] <vgodunko> geniepro: сложно сказать.
[20:24:36] <cthulchu> тогда бессмысленно говорить о дублях в жаббере. я теперь с жаббера не могу войти под своим ником
[20:24:57] <vgodunko> Если есть указатель и длина, то есть два варианта: "правильный" и крутой.
[20:25:44] <vgodunko> cthulchu: могу остановить мост временно
[20:25:57] <cthulchu> не стоит. спасибо.
[20:28:31] <vgodunko> Правильный - настроить Interfaces.C.Pointers.
[20:28:50] <vgodunko> Крутой - сделать наложение в памяти:
[20:28:54] <cthulchu> очень круто сделано в плане проверки на предмет бота. хороший человек писал ее. это же протокол жабы с пхп или чем-то того же уровня связать надо было. если, конечно, у жаббера нету готовой апи...
[20:30:10] <vgodunko> procedure (A : System.Address; L : Natural) is
V : Item_Array (1 .. L);
for V'Address use A;