jithoosin has asked for the wisdom of the Perl Monks concerning the following question:
#include <EXTERN.h> #include <perl.h> static PerlInterpreter *my_perl; EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); EXTERN_C void xs_init(pTHX) { char *file = __FILE__; dXSUB_SYS; /* DynaLoader is a special case */ newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); } static void PerlPower(int a, int b) { dSP; ENTER; SAVETMPS; PUSHMARK(SP); XPUSHs(sv_2mortal(newSViv(a))); XPUSHs(sv_2mortal(newSViv(b))); PUTBACK; call_pv("expo", G_SCALAR); SPAGAIN; printf ("%d\n", POPi); PUTBACK; FREETMPS; LEAVE; } int main (int argc, char **argv, char **env) { char *my_argv[] = { "", "power.pl" }; my_perl = perl_alloc(); perl_construct( my_perl ); perl_parse(my_perl, xs_init, 2, my_argv, (char **)NULL); perl_run(my_perl); PerlPower(3, 4); perl_destruct(my_perl); perl_free(my_perl); }
use DBI; sub expo { my ($a, $b) = @_; return $a ** $b; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: memory leak <<<PerlEmbed
by derby (Abbot) on Dec 21, 2005 at 14:54 UTC | |
by jithoosin (Scribe) on Dec 22, 2005 at 05:43 UTC |