Could any one help me.But the program is working correctly and produces the correct output. But along with output it produces the error message.I need some method to avoid this error. Also i please tell me why "perl_run" is used.#include<stdio.h> #include <EXTERN.h> #include <perl.h> static PerlInterpreter *my_perl; /*----------------------------------------------------------- for dynamic loading of perlmodules which inturn uses C libraries -----------------------------------------------------------*/ static void xs_init (pTHX); EXTERN_C void boot_DynaLoader (pTHX_ CV* cv); EXTERN_C void xs_init(pTHX) { char *file = __FILE__; newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file); } /*-------------------------------------------------------------*/ void CheckBrowserCompat(char *fileName) { int count; dSP; ENTER; SAVETMPS; PUSHMARK(SP); XPUSHs(sv_2mortal(newSVpv(fileName,0))); PUTBACK; count = call_pv("MAIN", G_ARRAY); SPAGAIN; printf("COUNT : %d\n",count); while(count--!=0) printf("%s",POPp); PUTBACK; FREETMPS; LEAVE; } int main (int argc, char **argv, char **env) { char *my_argv[] = { "", "browserCompat.pl" }; char fileName[]= "toolbox.html"; my_perl = perl_alloc(); perl_construct( my_perl ); perl_parse(my_perl, xs_init, 2, my_argv, NULL); //perl_run(my_perl); CheckBrowserCompat(fileName); perl_destruct(my_perl); perl_free(my_perl); }
In reply to free(): invalid pointer 0x804c690! <<<embed perl in C by jithoosin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |