读书人

初学者问个有关问题-c++调用perl函数

发布时间: 2013-07-08 14:13:00 作者: rapoo

菜鸟问个问题--c++调用perl函数
想从c++中调用perl函数,程序如下,可以执行。但当加入#include<iostream.h>头文件的时候,出现一大堆错误。不知道为何?麻烦高手解答下~~
ps:
建立的是 win32 console Application工程
perl embed的文档中说的都是从c中调用perl的问题。
#include<EXTERN.h>
#include<perl.h>
static PerlInterpreter *my_perl;
int perlpower(int a,int b);
int main(int argc,char **argv,char **env)
{
int b;
char *my_argv[]={"","E:\\VC++\\调用函数\\power.pl"};
PERL_SYS_INIT3(&argc,&argv,&env);
my_perl=perl_alloc();
perl_construct(my_perl);

perl_parse(my_perl,NULL,2,my_argv,(char **)NULL);
PL_exit_flags|=PERL_EXIT_DESTRUCT_END;
perl_run(my_perl);
b=perlpower(3,4);

printf("%d",b);//改成 cout<<b就出现错误了

perl_destruct(my_perl);
perl_free(my_perl);
PERL_SYS_TERM();
return 0;

}
int perlpower(int a,int b)
{
int re;
dSP;
ENTER;
SAVETMPS;
PUSHMARK(SP);
XPUSHs(sv_2mortal(newSViv(a)));
XPUSHs(sv_2mortal(newSViv(b)));
PUTBACK;
call_pv("expo",G_SCALAR);
SPAGAIN;
re=POPi;
PUTBACK;
FREETMPS;
LEAVE;
return re;

}
[解决办法]
http://www.newsmth.net/bbsanc.php?path=%2Fgroups%2Fcomp.faq%2FPerl%2Fresource%2Fdocument%2FM.1164257379.70
他是一个内嵌的纯C语言
而iostream是C++标准库文件

读书人网 >C++

热点推荐