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



我在纯Perl中有一个复杂的编码函数,我正在将其转换为XS,希望获得性能提升。

我要转换为XS的函数需要递归地调用自己。我可以看到如何使用call_sv[感谢"man perlcall"]来调用纯Perl函数。

但是我到底如何在XS中调用我自己(或任何其他XS函数)?

(注:

效率是非常可取的…)

谁能给我点提示吗?或者举个例子?P-p-p-please !

更新:第一个答案绝对正确。调用递归的纯C函数工作得很好

不要。XS是一种向C函数提供Perl接口的机制。不要从C函数中调用XS函数(您可以使用call_sv或类似的函数);从XS函数中调用C函数

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

相关内容

  • 没有找到相关文章

最新更新