in reply to Re: How to keep C variables "alive" between invocations with Inline::C
in thread How to keep C variables "alive" between invocations with Inline::C

Aren't you missing something? Like where to reference the TYPEMAP


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy
  • Comment on Re^2: How to keep C variables "alive" between invocations with Inline::C

Replies are listed 'Best First'.
Re^3: How to keep C variables "alive" between invocations with Inline::C
by ikegami (Patriarch) on Sep 28, 2010 at 00:52 UTC

    Inline looks for file "typemap", so there's no need to specify it explicitly.

    $ perl -MInline=FORCE,NOISY,NOCLEAN a.pl ... /home/ikegami/usr/perlbrew/perls/perl-5.12.1/bin/perl /home/ikegami/us +r/perlbrew/perls/perl-5.12.1/lib/5.12.1/ExtUtils/xsubpp -typemap /ho +me/ikegami/usr/perlbrew/perls/perl-5.12.1/lib/5.12.1/ExtUtils/typemap + -typemap /home/ikegami/xxx/typemap Node_ef45.xs > Node_ef45.xsc && + mv Node_ef45.xsc Node_ef45.c ... new_node DESTROY

      Could you add a method to your sample please?

      I tried adding this method:

      Node* insert( Node* root ) { warn("insert\n"); // DEBUG return root; }

      But I get the classic: Can't locate object method "insert" via package "Node" at ...


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

        Works for me. What your build output and your .c?

        But I've found that it creates a second scalar that points to root, so DESTROY is now being called twice for the same pointer.