|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artur Penttinen 2:5020/400 28 Aug 2001 10:58:13 To : Yuri Kostylev Subject : Re: XS How? -------------------------------------------------------------------------------- Yuri Kostylev <yuri@yk.udmts.elektra.ru> wrote: YK> YK> artur+usenet@niif.spb.su wrote: YK> YK>>> Возникла необходимость сделать обёртку для библиотечной YK>>> функции. Описана она таким образом: int Func(char YK>>> *in, char **out); Одна проблема - out необходимо YK>>> впоследствии освобождать посредством некой библиотечной YK>>> функции Free(char *) А пользоваться ей хотелось YK>>> бы так: $s = Package::Func(' some data '); Hе могу YK>>> въехать, как в .xs создать и вернуть перловую строку, YK>>> а ресурс перед возвратом из враппера освободить законным YK>>> способом. Что-то в peldoc perlxs не обнаружил намеков.... YK> YK> aunss>> perldoc perlxstut? YK> YK> Там вообще примитив. YK> YK> Пришлось пока сделать некий изврат типа вспомогательной YK> функции извлечения char * из T_PTROBJ YK> YK> YK> Вроде работает, но плохо. Периодически YK> отшибается модперл по segm. fault.... YK> YK> Можно каки-либо образом в xs аллоцировать перловую YK> строку, скопировать туда данные? Тогда вам надо в perldoc perlguts, SV* newSVpv(char*, int); wbw,artur -- Друзья - люди, которые хорошо Вас знают, но все равно любят. --- ifmail v.2.15dev5 * Origin: Sonera Ltd. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6578e539d759.html, оценка из 5, голосов 10
|