我需要在我的 C 程序中调用 perl 例程。perl 例程采用以下参数:$a, $b, $c
,其中$a
和$b
是整数,$c
是字符串(可能包含二进制字符)。根据perlcall,这是拨打电话的方法。
I32 call_sv(SV* sv, I32 flags);
I32 call_pv(char *subname, I32 flags);
I32 call_method(char *methname, I32 flags);
I32 call_argv(char *subname, I32 flags, char **argv);
好像只能用call_argv(...),但是有两个问题
- 如何将整数传递给 perl 例程
- 如何将(二进制)字符串传递给perl?
希望有这样的功能
I32 call_argv(char *subname, I32 flags, int numOfArgs, SV* a, SV* b, SV *c ...);