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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Taras Ledkov                         2:5020/400     08 Jun 2004  13:12:32
 To : All
 Subject : perlembed & garbage collection или не дайте умереть дураком
 -------------------------------------------------------------------------------- 
 
 Сограждане, не поленитесь чиркнуть пару строчек, кто давно 
 разобрался с предметом...
 
 Вопрос в сущьности простой. 
 
 Делаю я в своей С-программе следующее
 
 - ---
   HV* hvcmd = newHV();
   SV* keystr = newSVpv("str", 4);
   SV* keybin = newSVpv("bin", 4);
 
   SV* strs[2];
   SV* bins[2];
   strs[0] = newSVpv("str1", 5);
   strs[1] = newSVpv("str2", 5);
   bins[0] = newSVpv("bin1", 5);
   bins[1] = newSVpv("bin2", 5);
   AV* avstr = av_make(2, (SV**)strs);
   AV* avbin = av_make(2, (SV**)bins);
   
   hv_store(hvcmd, "str", 3, newRV_noinc((SV*)avstr), 0);
   hv_store(hvcmd, "bin", 3, newRV_noinc((SV*)avbin), 0);
 
   AV* inCmds = get_av("g_inCmd", TRUE);
   av_push(inCmds, newRV_noinc((SV*)hvcmd));
   
   call_argv("q", G_DISCARD | G_NOARGS, NULL);
 - ---
 Причем делаю это в цикле...
 
 В функции q я его собственно печатаю и даллее очищаю:
 - ---
 sub q
 {
   print Data::Dumper->Dump([\@g_inCmd], [qw(g_inCmd)]), " \n";
   @g_inCmd = ();
 }
 - ---
 
 В итоге на каждой иттерации получаю массив хешей массивов типа:
 $g_inCmd = [
              {
                'bin' => [
                           'bin1',
                           'bin2'
                         ],
                'str' => [
                           'str1',
                           'str2'
                         ]
              },
        ...];
 Внимание вопрос: объясните дураку почему у меня память течет?
 Можно ткнуть в конкретное место perlguts или perlapi...
 Hу простите, не понял я еще до конца как он внутри устроен... ;(
 
 With best regards
 -- 
 Taras Ledkov
 PRIOR
 Mail-To: tarle@priorltd.ru
 ICQ UIN: 97521401
 
 --- ifmail v.2.15dev5.3
  * Origin: Prior (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 perlembed & garbage collection или не дайте умереть дураком   Taras Ledkov   08 Jun 2004 13:12:32 
Архивное /ru.perl/56132d515504.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional