Re: new / delete в UDF

2011-11-29 Пенетрантность Vladimir
>Проблема в том, что по умолчанию линкер gcc экспортирует все ф-ции. > Соответственно, UDF цепляет delete движка (embedded коннект), или isql. > Движок в 2.5 вроде как уже поправили на этот счёт, но утилиты по прежнему > всё выставляют наружу. Но тогда ведь и new бы цеплялась? Или в чем-то усл

Re: new / delete в UDF

2011-11-29 Пенетрантность Vlad Khorsun
"Vladimir" ... Похоже, линкер/загрузчик где-то путается с разрешением символов и вместо rtl-ных new/delete подставляет какие-то левые. Тут немного непонятно. Если в моей udf используются new/delete от firebird, то почему они приводят к ошибке? Может быть, дело в другом? Например, такая ситуац

Re: new / delete в UDF

2011-11-29 Пенетрантность Vlad Khorsun
"Vladimir" ... Сегодня получился положительный результат. Большое спасибо за советы. Вчера долго не удавалось настроить сетевой коннект. Применял разные рекомендации, которые находил. Вероятно, сделал что-то лишнее. В firebird.log были записи INET/inet_error: send errno = 32 Версия точно Firebir

Re: new / delete в UDF

2011-11-29 Пенетрантность Vladimir
>> Вариант 3. Пытаюсь перегрузить операторы new и delete. > Попробуй в этом варианте сделать операторы инлайновыми или разместить их > в неименованном пространстве имён. > Т. е. скрыть от линкера. Пробовал объявить свои перегруженные операторы как inline - все равно в udf управление на них не пер

Re: new / delete в UDF

2011-11-29 Пенетрантность Vladimir
Сегодня получился положительный результат. Большое спасибо за советы. Вчера долго не удавалось настроить сетевой коннект. Применял разные рекомендации, которые находил. Вероятно, сделал что-то лишнее. В firebird.log были записи INET/inet_error: send errno = 32 Версия точно Firebird CS 2.1.3.18185-

Re: new / delete в UDF

2011-11-29 Пенетрантность Vlad Khorsun
"Vladimir" ... С сетевым коннектом ошибка проявляется по-другому, и isql при этом не падает. SQL> SELECT TestInsert(333) from RDB$Database; TESTINSERT Statement failed, SQLCODE = -902 Error reading data from the connection. SQL> quit; Это действительно 2.1.3 ? Не 2.0.х ? В fi

Re: new / delete в UDF

2011-11-28 Пенетрантность Tonal
28.11.2011 18:27, Vladimir пишет: > Вариант 3. Пытаюсь перегрузить операторы new и delete. Попробуй в этом варианте сделать операторы инлайновыми или разместить их в неименованном пространстве имён. Т. е. скрыть от линкера. Похоже, линкер/загрузчик где-то путается с разрешением символов и вместо r

Re: new / delete в UDF

2011-11-28 Пенетрантность Vladimir
С сетевым коннектом ошибка проявляется по-другому, и isql при этом не падает. SQL> SELECT TestInsert(333) from RDB$Database; TESTINSERT Statement failed, SQLCODE = -902 Error reading data from the connection. SQL> quit; С локальным коннектом isql падал. SQL> SELECT TestInsert(33

Re: new / delete в UDF

2011-11-28 Пенетрантность Vlad Khorsun
"Vladimir" ... Да, все в isql с локальным коннектом. Имеет смысл попробовать сетевой коннект? Да -- Хорсун Влад

Re: new / delete в UDF

2011-11-28 Пенетрантность Vladimir
Да, все в isql с локальным коннектом. Имеет смысл попробовать сетевой коннект? С уважением, Владимир.

Re: new / delete в UDF

2011-11-28 Пенетрантность Khorsun Vlad
"Vladimir" ... А каким образом проверяется работоспособность UDF ? Запросы выполняются в isql с локальным коннектом ? Сетевой коннект не пробовал ? -- Хорсун Влад

Re: new / delete в UDF

2011-11-28 Пенетрантность Vladimir
Firebird CS 2.1.3.18185 g++ версии 4.4.3-4ubuntu5 Отладчиком пользоваться не пытался. Проверил на простом примере. Получается следующее. Вариант 1. Без new и delete. #include long TESTINSERT(long *theArg) { long* aTestItem = (long*) malloc(sizeof(long)); free(aTestItem); long aResult

Re: new / delete в UDF

2011-11-28 Пенетрантность Khorsun Vlad
"Vladimir" ... Спасибо за совет. Очень было похоже, что это может помочь, но никакие опции редактора не изменили ситуацию. Какого-такого редактора ? Пробовал --no-export-dynamic --exclude-libs, никакого эффекта. Какая версия Firebird ? Есть возможность пройтись отладчиком по коду

Re: new / delete в UDF

2011-11-21 Пенетрантность Vladimir
Спасибо за совет. Очень было похоже, что это может помочь, но никакие опции редактора не изменили ситуацию. Пробовал --no-export-dynamic --exclude-libs, никакого эффекта. С уважением, Владимир.

Re: new / delete в UDF

2011-11-21 Пенетрантность Vladimir
On Nov 18, 11:08 am, "Khorsun Vlad" wrote: > "Vladimir" ... > > > ! > > > Linux UDF, gcc, > > : > > >  long* aTestItem = new long; > >  delete aTestItem; > > > Segmentation fault delete. > >     , > .so ӣ . > > --

Re: new / delete в UDF

2011-11-17 Пенетрантность Khorsun Vlad
"Vladimir" ... Здравствуйте! При попытке в Linux использовать UDF, собранную в gcc, столкнулся со следующим: long* aTestItem = new long; delete aTestItem; вызывает ошибку Segmentation fault на операторе delete. Насколько я помню, нужно явно сказать линкеру не экспортировать из .so всё п

new / delete в UDF

2011-11-17 Пенетрантность Vladimir
Здравствуйте! При попытке в Linux использовать UDF, собранную в gcc, столкнулся со следующим: long* aTestItem = new long; delete aTestItem; вызывает ошибку Segmentation fault на операторе delete. В Windows все проходит без ошибок. Если библиотеку использовать не в UDF, а вызывать из просто