Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: XS How?   Artur Penttinen   28 Aug 2001 10:58:13 
Архивное /ru.perl/6578e539d759.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional