从Perl XS代码,我如何递归调用自己?

时间:2013-04-19 06:04:09

标签: perl xs

我在Pure Perl中有一个复杂的编码功能,我正在转换为XS,希望能够提升性能。

我转换为XS的函数需要以递归方式调用自身。我可以看到如何使用call_sv [感谢“man perlcall”]来调用Pure Perl函数。

但是我怎么称自己(或任何其他XS功能)来自XS?

(P.S。效率非常理想......)

有人可以给我一个提示吗?还是一个例子? P-P-P-请!

更新:第一个答案绝对正确。调用递归纯C函数可以正常工作。

1 个答案:

答案 0 :(得分:9)

别。 XS是一种为C函数提供Perl接口的机制。不要从C函数调用XS函数(为此使用call_sv等);从XS函数调用C函数。

编写递归C函数并将其保留在XS代码之外(MODULE =行之前或单独的.c)。从瘦XS包装器中调用它。